Big, big commit!!
1) Remove WITH_FREETYPE2 from code, so now blender always need freetype2
2) Remove the old bmfont
3) Remove ftfont and bFTGL library
4) Implement a new BLF_draw_default function for place that still need/use
the old BMF api.
I try to update both, scons and cmake, but I only can test with make, so
hope all work fine.
MSVC is broken, but I don't have Windows, things to search and fix are
any reference to WITH_FREETYPE2, FTGL and BMFONT (take in care that
blenkernel also have a BKE_bmfont.h, this don't have anything to do with bmfont).
Always have to link/include the freetype2 library
Remove any reference to libbmfont
Remove any reference to libftfont
Remove any reference to libbftgl (or libbFTGL)
This commit is contained in:
@@ -43,9 +43,9 @@ MACRO(SETUP_LIBDIRS)
|
|||||||
CMAKE_POLICY(SET CMP0003 NEW)
|
CMAKE_POLICY(SET CMP0003 NEW)
|
||||||
endif(COMMAND cmake_policy)
|
endif(COMMAND cmake_policy)
|
||||||
LINK_DIRECTORIES(${PYTHON_LIBPATH} ${SDL_LIBPATH} ${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${ICONV_LIBPATH} ${OPENEXR_LIBPATH} ${QUICKTIME_LIBPATH} ${FFMPEG_LIBPATH})
|
LINK_DIRECTORIES(${PYTHON_LIBPATH} ${SDL_LIBPATH} ${JPEG_LIBPATH} ${PNG_LIBPATH} ${ZLIB_LIBPATH} ${ICONV_LIBPATH} ${OPENEXR_LIBPATH} ${QUICKTIME_LIBPATH} ${FFMPEG_LIBPATH})
|
||||||
|
LINK_DIRECTORIES(${FREETYPE_LIBPATH})
|
||||||
IF(WITH_INTERNATIONAL)
|
IF(WITH_INTERNATIONAL)
|
||||||
LINK_DIRECTORIES(${GETTEXT_LIBPATH})
|
LINK_DIRECTORIES(${GETTEXT_LIBPATH})
|
||||||
LINK_DIRECTORIES(${FREETYPE_LIBPATH})
|
|
||||||
ENDIF(WITH_INTERNATIONAL)
|
ENDIF(WITH_INTERNATIONAL)
|
||||||
IF(WITH_OPENAL)
|
IF(WITH_OPENAL)
|
||||||
LINK_DIRECTORIES(${OPENAL_LIBPATH})
|
LINK_DIRECTORIES(${OPENAL_LIBPATH})
|
||||||
@@ -62,6 +62,7 @@ MACRO(SETUP_LIBLINKS
|
|||||||
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
|
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LIB} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
|
||||||
|
|
||||||
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
|
TARGET_LINK_LIBRARIES(${target} ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY} ${PYTHON_LINKFLAGS} ${JPEG_LIB} ${PNG_LIB} ${ZLIB_LIB} ${SDL_LIB} ${LLIBS})
|
||||||
|
TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIB})
|
||||||
|
|
||||||
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
|
# since we are using the local libs for python when compiling msvc projects, we need to add _d when compiling debug versions
|
||||||
|
|
||||||
@@ -78,7 +79,6 @@ MACRO(SETUP_LIBLINKS
|
|||||||
ENDIF(WIN32)
|
ENDIF(WIN32)
|
||||||
|
|
||||||
IF(WITH_INTERNATIONAL)
|
IF(WITH_INTERNATIONAL)
|
||||||
TARGET_LINK_LIBRARIES(${target} ${FREETYPE_LIB})
|
|
||||||
TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
|
TARGET_LINK_LIBRARIES(${target} ${GETTEXT_LIB})
|
||||||
ENDIF(WITH_INTERNATIONAL)
|
ENDIF(WITH_INTERNATIONAL)
|
||||||
IF(WITH_OPENAL)
|
IF(WITH_OPENAL)
|
||||||
|
|||||||
@@ -436,10 +436,6 @@ ENDIF(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|||||||
#-----------------------------------------------------------------------------
|
#-----------------------------------------------------------------------------
|
||||||
# Common.
|
# Common.
|
||||||
|
|
||||||
SET(FTGL ${CMAKE_SOURCE_DIR}/extern/bFTGL)
|
|
||||||
SET(FTGL_INC ${FTGL}/include)
|
|
||||||
SET(FTGL_LIB extern_ftgl)
|
|
||||||
|
|
||||||
set(OPENJPEG ${CMAKE_SOURCE_DIR}/extern/libopenjpeg)
|
set(OPENJPEG ${CMAKE_SOURCE_DIR}/extern/libopenjpeg)
|
||||||
set(OPENJPEG_INC ${OPENJPEG})
|
set(OPENJPEG_INC ${OPENJPEG})
|
||||||
set(OPENJPEG_LIb extern_libopenjpeg)
|
set(OPENJPEG_LIb extern_libopenjpeg)
|
||||||
|
|||||||
@@ -281,7 +281,6 @@ if 'blenderlite' in B.targets:
|
|||||||
target_env_defs['WITH_BF_QUICKTIME'] = False
|
target_env_defs['WITH_BF_QUICKTIME'] = False
|
||||||
target_env_defs['WITH_BF_YAFRAY'] = False
|
target_env_defs['WITH_BF_YAFRAY'] = False
|
||||||
target_env_defs['WITH_BF_REDCODE'] = False
|
target_env_defs['WITH_BF_REDCODE'] = False
|
||||||
target_env_defs['WITH_BF_FTGL'] = False
|
|
||||||
target_env_defs['WITH_BF_DDS'] = False
|
target_env_defs['WITH_BF_DDS'] = False
|
||||||
target_env_defs['WITH_BF_ZLIB'] = False
|
target_env_defs['WITH_BF_ZLIB'] = False
|
||||||
target_env_defs['WITH_BF_SDL'] = False
|
target_env_defs['WITH_BF_SDL'] = False
|
||||||
|
|||||||
@@ -100,14 +100,11 @@ IF(UNIX)
|
|||||||
extern_bullet
|
extern_bullet
|
||||||
bf_guardedalloc
|
bf_guardedalloc
|
||||||
bf_memutil
|
bf_memutil
|
||||||
bf_bmfont
|
|
||||||
bf_blenlib
|
bf_blenlib
|
||||||
bf_cineon
|
bf_cineon
|
||||||
bf_openexr
|
bf_openexr
|
||||||
extern_libopenjpeg
|
extern_libopenjpeg
|
||||||
bf_dds
|
bf_dds
|
||||||
bf_ftfont
|
|
||||||
extern_ftgl
|
|
||||||
bf_readblenfile
|
bf_readblenfile
|
||||||
blenkernel_blc
|
blenkernel_blc
|
||||||
bf_quicktime
|
bf_quicktime
|
||||||
|
|||||||
@@ -138,11 +138,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'intl'
|
BF_GETTEXT_LIB = 'intl'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = '#extern/bFTGL'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE=True
|
WITH_BF_GAMEENGINE=True
|
||||||
WITH_BF_PLAYER=True
|
WITH_BF_PLAYER=True
|
||||||
|
|
||||||
|
|||||||
@@ -77,11 +77,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gettextpo intl'
|
BF_GETTEXT_LIB = 'gettextpo intl'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = 'true'
|
|
||||||
BF_FTGL = '#extern/bFTGL'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE='false'
|
WITH_BF_GAMEENGINE='false'
|
||||||
|
|
||||||
WITH_BF_ODE = 'false'
|
WITH_BF_ODE = 'false'
|
||||||
|
|||||||
@@ -71,11 +71,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gettextlib'
|
BF_GETTEXT_LIB = 'gettextlib'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = '#extern/bFTGL'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE=False
|
WITH_BF_GAMEENGINE=False
|
||||||
|
|
||||||
WITH_BF_ODE = False
|
WITH_BF_ODE = False
|
||||||
|
|||||||
@@ -74,11 +74,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gnu_gettext'
|
BF_GETTEXT_LIB = 'gnu_gettext'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = LIBDIR + '/ftgl'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE = False
|
WITH_BF_GAMEENGINE = False
|
||||||
|
|
||||||
WITH_BF_ODE = True
|
WITH_BF_ODE = True
|
||||||
|
|||||||
@@ -59,11 +59,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'intl iconv'
|
BF_GETTEXT_LIB = 'intl iconv'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = '#extern/bFTGL'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE=False
|
WITH_BF_GAMEENGINE=False
|
||||||
|
|
||||||
WITH_BF_ODE = False
|
WITH_BF_ODE = False
|
||||||
|
|||||||
@@ -67,11 +67,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gettextlib'
|
BF_GETTEXT_LIB = 'gettextlib'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = '#extern/bFTGL'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE=False
|
WITH_BF_GAMEENGINE=False
|
||||||
|
|
||||||
WITH_BF_ODE = False
|
WITH_BF_ODE = False
|
||||||
|
|||||||
@@ -75,11 +75,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gnu_gettext'
|
BF_GETTEXT_LIB = 'gnu_gettext'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = LIBDIR + '/ftgl'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE = False
|
WITH_BF_GAMEENGINE = False
|
||||||
|
|
||||||
WITH_BF_ODE = True
|
WITH_BF_ODE = True
|
||||||
|
|||||||
@@ -87,11 +87,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gnu_gettext'
|
BF_GETTEXT_LIB = 'gnu_gettext'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = True
|
|
||||||
BF_FTGL = LIBDIR + '/ftgl'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE = True
|
WITH_BF_GAMEENGINE = True
|
||||||
WITH_BF_PLAYER = True
|
WITH_BF_PLAYER = True
|
||||||
|
|
||||||
|
|||||||
@@ -90,11 +90,6 @@ BF_GETTEXT_INC = '${BF_GETTEXT}/include'
|
|||||||
BF_GETTEXT_LIB = 'gettext'
|
BF_GETTEXT_LIB = 'gettext'
|
||||||
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
BF_GETTEXT_LIBPATH = '${BF_GETTEXT}/lib'
|
||||||
|
|
||||||
WITH_BF_FTGL = False
|
|
||||||
BF_FTGL = LIBDIR + '/ftgl'
|
|
||||||
BF_FTGL_INC = '${BF_FTGL}/include'
|
|
||||||
BF_FTGL_LIB = 'extern_ftgl'
|
|
||||||
|
|
||||||
WITH_BF_GAMEENGINE = True
|
WITH_BF_GAMEENGINE = True
|
||||||
WITH_BF_PLAYER = False
|
WITH_BF_PLAYER = False
|
||||||
|
|
||||||
|
|||||||
4
extern/Makefile
vendored
4
extern/Makefile
vendored
@@ -32,10 +32,6 @@ SOURCEDIR = extern
|
|||||||
DIR = $(OCGDIR)/extern
|
DIR = $(OCGDIR)/extern
|
||||||
DIRS = qhull/src solid glew/src
|
DIRS = qhull/src solid glew/src
|
||||||
|
|
||||||
ifeq ($(WITH_FREETYPE2), true)
|
|
||||||
DIRS += bFTGL/src
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(WITH_FFMPEG), true)
|
ifeq ($(WITH_FFMPEG), true)
|
||||||
ifeq ($(NAN_FFMPEG), $(LCGDIR)/ffmpeg)
|
ifeq ($(NAN_FFMPEG), $(LCGDIR)/ffmpeg)
|
||||||
DIRS += ffmpeg
|
DIRS += ffmpeg
|
||||||
|
|||||||
32
extern/bFTGL/CMakeLists.txt
vendored
32
extern/bFTGL/CMakeLists.txt
vendored
@@ -1,32 +0,0 @@
|
|||||||
# $Id$
|
|
||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# The Original Code is Copyright (C) 2006, Blender Foundation
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# The Original Code is: all of this file.
|
|
||||||
#
|
|
||||||
# Contributor(s): Jacques Beaurain.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
SET(INC include src ${FREETYPE_INC})
|
|
||||||
|
|
||||||
FILE(GLOB SRC src/*.cpp)
|
|
||||||
ADD_DEFINITIONS(-DFTGL_LIBRARY_STATIC)
|
|
||||||
BLENDERLIB(extern_ftgl "${SRC}" "${INC}")
|
|
||||||
#, libtype=['international','player'], priority=[5, 210])
|
|
||||||
481
extern/bFTGL/COPYING.txt
vendored
481
extern/bFTGL/COPYING.txt
vendored
@@ -1,481 +0,0 @@
|
|||||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1991 Free Software Foundation, Inc.
|
|
||||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
[This is the first released version of the library GPL. It is
|
|
||||||
numbered 2 because it goes with version 2 of the ordinary GPL.]
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
Licenses are intended to guarantee your freedom to share and change
|
|
||||||
free software--to make sure the software is free for all its users.
|
|
||||||
|
|
||||||
This license, the Library General Public License, applies to some
|
|
||||||
specially designated Free Software Foundation software, and to any
|
|
||||||
other libraries whose authors decide to use it. You can use it for
|
|
||||||
your libraries, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if
|
|
||||||
you distribute copies of the library, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of the library, whether gratis
|
|
||||||
or for a fee, you must give the recipients all the rights that we gave
|
|
||||||
you. You must make sure that they, too, receive or can get the source
|
|
||||||
code. If you link a program with the library, you must provide
|
|
||||||
complete object files to the recipients so that they can relink them
|
|
||||||
with the library, after making changes to the library and recompiling
|
|
||||||
it. And you must show them these terms so they know their rights.
|
|
||||||
|
|
||||||
Our method of protecting your rights has two steps: (1) copyright
|
|
||||||
the library, and (2) offer you this license which gives you legal
|
|
||||||
permission to copy, distribute and/or modify the library.
|
|
||||||
|
|
||||||
Also, for each distributor's protection, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
library. If the library is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original
|
|
||||||
version, so that any problems introduced by others will not reflect on
|
|
||||||
the original authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that companies distributing free
|
|
||||||
software will individually obtain patent licenses, thus in effect
|
|
||||||
transforming the program into proprietary software. To prevent this,
|
|
||||||
we have made it clear that any patent must be licensed for everyone's
|
|
||||||
free use or not licensed at all.
|
|
||||||
|
|
||||||
Most GNU software, including some libraries, is covered by the ordinary
|
|
||||||
GNU General Public License, which was designed for utility programs. This
|
|
||||||
license, the GNU Library General Public License, applies to certain
|
|
||||||
designated libraries. This license is quite different from the ordinary
|
|
||||||
one; be sure to read it in full, and don't assume that anything in it is
|
|
||||||
the same as in the ordinary license.
|
|
||||||
|
|
||||||
The reason we have a separate public license for some libraries is that
|
|
||||||
they blur the distinction we usually make between modifying or adding to a
|
|
||||||
program and simply using it. Linking a program with a library, without
|
|
||||||
changing the library, is in some sense simply using the library, and is
|
|
||||||
analogous to running a utility program or application program. However, in
|
|
||||||
a textual and legal sense, the linked executable is a combined work, a
|
|
||||||
derivative of the original library, and the ordinary General Public License
|
|
||||||
treats it as such.
|
|
||||||
|
|
||||||
Because of this blurred distinction, using the ordinary General
|
|
||||||
Public License for libraries did not effectively promote software
|
|
||||||
sharing, because most developers did not use the libraries. We
|
|
||||||
concluded that weaker conditions might promote sharing better.
|
|
||||||
|
|
||||||
However, unrestricted linking of non-free programs would deprive the
|
|
||||||
users of those programs of all benefit from the free status of the
|
|
||||||
libraries themselves. This Library General Public License is intended to
|
|
||||||
permit developers of non-free programs to use free libraries, while
|
|
||||||
preserving your freedom as a user of such programs to change the free
|
|
||||||
libraries that are incorporated in them. (We have not seen how to achieve
|
|
||||||
this as regards changes in header files, but we have achieved it as regards
|
|
||||||
changes in the actual functions of the Library.) The hope is that this
|
|
||||||
will lead to faster development of free libraries.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow. Pay close attention to the difference between a
|
|
||||||
"work based on the library" and a "work that uses the library". The
|
|
||||||
former contains code derived from the library, while the latter only
|
|
||||||
works together with the library.
|
|
||||||
|
|
||||||
Note that it is possible for a library to be covered by the ordinary
|
|
||||||
General Public License rather than by this special one.
|
|
||||||
|
|
||||||
GNU LIBRARY GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License Agreement applies to any software library which
|
|
||||||
contains a notice placed by the copyright holder or other authorized
|
|
||||||
party saying it may be distributed under the terms of this Library
|
|
||||||
General Public License (also called "this License"). Each licensee is
|
|
||||||
addressed as "you".
|
|
||||||
|
|
||||||
A "library" means a collection of software functions and/or data
|
|
||||||
prepared so as to be conveniently linked with application programs
|
|
||||||
(which use some of those functions and data) to form executables.
|
|
||||||
|
|
||||||
The "Library", below, refers to any such software library or work
|
|
||||||
which has been distributed under these terms. A "work based on the
|
|
||||||
Library" means either the Library or any derivative work under
|
|
||||||
copyright law: that is to say, a work containing the Library or a
|
|
||||||
portion of it, either verbatim or with modifications and/or translated
|
|
||||||
straightforwardly into another language. (Hereinafter, translation is
|
|
||||||
included without limitation in the term "modification".)
|
|
||||||
|
|
||||||
"Source code" for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For a library, complete source code means
|
|
||||||
all the source code for all modules it contains, plus any associated
|
|
||||||
interface definition files, plus the scripts used to control compilation
|
|
||||||
and installation of the library.
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running a program using the Library is not restricted, and output from
|
|
||||||
such a program is covered only if its contents constitute a work based
|
|
||||||
on the Library (independent of the use of the Library in a tool for
|
|
||||||
writing it). Whether that is true depends on what the Library does
|
|
||||||
and what the program that uses the Library does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Library's
|
|
||||||
complete source code as you receive it, in any medium, provided that
|
|
||||||
you conspicuously and appropriately publish on each copy an
|
|
||||||
appropriate copyright notice and disclaimer of warranty; keep intact
|
|
||||||
all the notices that refer to this License and to the absence of any
|
|
||||||
warranty; and distribute a copy of this License along with the
|
|
||||||
Library.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy,
|
|
||||||
and you may at your option offer warranty protection in exchange for a
|
|
||||||
fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Library or any portion
|
|
||||||
of it, thus forming a work based on the Library, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) The modified work must itself be a software library.
|
|
||||||
|
|
||||||
b) You must cause the files modified to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
c) You must cause the whole of the work to be licensed at no
|
|
||||||
charge to all third parties under the terms of this License.
|
|
||||||
|
|
||||||
d) If a facility in the modified Library refers to a function or a
|
|
||||||
table of data to be supplied by an application program that uses
|
|
||||||
the facility, other than as an argument passed when the facility
|
|
||||||
is invoked, then you must make a good faith effort to ensure that,
|
|
||||||
in the event an application does not supply such function or
|
|
||||||
table, the facility still operates, and performs whatever part of
|
|
||||||
its purpose remains meaningful.
|
|
||||||
|
|
||||||
(For example, a function in a library to compute square roots has
|
|
||||||
a purpose that is entirely well-defined independent of the
|
|
||||||
application. Therefore, Subsection 2d requires that any
|
|
||||||
application-supplied function or table used by this function must
|
|
||||||
be optional: if the application does not supply it, the square
|
|
||||||
root function must still compute square roots.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Library,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Library, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote
|
|
||||||
it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Library.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Library
|
|
||||||
with the Library (or with a work based on the Library) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may opt to apply the terms of the ordinary GNU General Public
|
|
||||||
License instead of this License to a given copy of the Library. To do
|
|
||||||
this, you must alter all the notices that refer to this License, so
|
|
||||||
that they refer to the ordinary GNU General Public License, version 2,
|
|
||||||
instead of to this License. (If a newer version than version 2 of the
|
|
||||||
ordinary GNU General Public License has appeared, then you can specify
|
|
||||||
that version instead if you wish.) Do not make any other change in
|
|
||||||
these notices.
|
|
||||||
|
|
||||||
Once this change is made in a given copy, it is irreversible for
|
|
||||||
that copy, so the ordinary GNU General Public License applies to all
|
|
||||||
subsequent copies and derivative works made from that copy.
|
|
||||||
|
|
||||||
This option is useful when you wish to copy part of the code of
|
|
||||||
the Library into a program that is not a library.
|
|
||||||
|
|
||||||
4. You may copy and distribute the Library (or a portion or
|
|
||||||
derivative of it, under Section 2) in object code or executable form
|
|
||||||
under the terms of Sections 1 and 2 above provided that you accompany
|
|
||||||
it with the complete corresponding machine-readable source code, which
|
|
||||||
must be distributed under the terms of Sections 1 and 2 above on a
|
|
||||||
medium customarily used for software interchange.
|
|
||||||
|
|
||||||
If distribution of object code is made by offering access to copy
|
|
||||||
from a designated place, then offering equivalent access to copy the
|
|
||||||
source code from the same place satisfies the requirement to
|
|
||||||
distribute the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
5. A program that contains no derivative of any portion of the
|
|
||||||
Library, but is designed to work with the Library by being compiled or
|
|
||||||
linked with it, is called a "work that uses the Library". Such a
|
|
||||||
work, in isolation, is not a derivative work of the Library, and
|
|
||||||
therefore falls outside the scope of this License.
|
|
||||||
|
|
||||||
However, linking a "work that uses the Library" with the Library
|
|
||||||
creates an executable that is a derivative of the Library (because it
|
|
||||||
contains portions of the Library), rather than a "work that uses the
|
|
||||||
library". The executable is therefore covered by this License.
|
|
||||||
Section 6 states terms for distribution of such executables.
|
|
||||||
|
|
||||||
When a "work that uses the Library" uses material from a header file
|
|
||||||
that is part of the Library, the object code for the work may be a
|
|
||||||
derivative work of the Library even though the source code is not.
|
|
||||||
Whether this is true is especially significant if the work can be
|
|
||||||
linked without the Library, or if the work is itself a library. The
|
|
||||||
threshold for this to be true is not precisely defined by law.
|
|
||||||
|
|
||||||
If such an object file uses only numerical parameters, data
|
|
||||||
structure layouts and accessors, and small macros and small inline
|
|
||||||
functions (ten lines or less in length), then the use of the object
|
|
||||||
file is unrestricted, regardless of whether it is legally a derivative
|
|
||||||
work. (Executables containing this object code plus portions of the
|
|
||||||
Library will still fall under Section 6.)
|
|
||||||
|
|
||||||
Otherwise, if the work is a derivative of the Library, you may
|
|
||||||
distribute the object code for the work under the terms of Section 6.
|
|
||||||
Any executables containing that work also fall under Section 6,
|
|
||||||
whether or not they are linked directly with the Library itself.
|
|
||||||
|
|
||||||
6. As an exception to the Sections above, you may also compile or
|
|
||||||
link a "work that uses the Library" with the Library to produce a
|
|
||||||
work containing portions of the Library, and distribute that work
|
|
||||||
under terms of your choice, provided that the terms permit
|
|
||||||
modification of the work for the customer's own use and reverse
|
|
||||||
engineering for debugging such modifications.
|
|
||||||
|
|
||||||
You must give prominent notice with each copy of the work that the
|
|
||||||
Library is used in it and that the Library and its use are covered by
|
|
||||||
this License. You must supply a copy of this License. If the work
|
|
||||||
during execution displays copyright notices, you must include the
|
|
||||||
copyright notice for the Library among them, as well as a reference
|
|
||||||
directing the user to the copy of this License. Also, you must do one
|
|
||||||
of these things:
|
|
||||||
|
|
||||||
a) Accompany the work with the complete corresponding
|
|
||||||
machine-readable source code for the Library including whatever
|
|
||||||
changes were used in the work (which must be distributed under
|
|
||||||
Sections 1 and 2 above); and, if the work is an executable linked
|
|
||||||
with the Library, with the complete machine-readable "work that
|
|
||||||
uses the Library", as object code and/or source code, so that the
|
|
||||||
user can modify the Library and then relink to produce a modified
|
|
||||||
executable containing the modified Library. (It is understood
|
|
||||||
that the user who changes the contents of definitions files in the
|
|
||||||
Library will not necessarily be able to recompile the application
|
|
||||||
to use the modified definitions.)
|
|
||||||
|
|
||||||
b) Accompany the work with a written offer, valid for at
|
|
||||||
least three years, to give the same user the materials
|
|
||||||
specified in Subsection 6a, above, for a charge no more
|
|
||||||
than the cost of performing this distribution.
|
|
||||||
|
|
||||||
c) If distribution of the work is made by offering access to copy
|
|
||||||
from a designated place, offer equivalent access to copy the above
|
|
||||||
specified materials from the same place.
|
|
||||||
|
|
||||||
d) Verify that the user has already received a copy of these
|
|
||||||
materials or that you have already sent this user a copy.
|
|
||||||
|
|
||||||
For an executable, the required form of the "work that uses the
|
|
||||||
Library" must include any data and utility programs needed for
|
|
||||||
reproducing the executable from it. However, as a special exception,
|
|
||||||
the source code distributed need not include anything that is normally
|
|
||||||
distributed (in either source or binary form) with the major
|
|
||||||
components (compiler, kernel, and so on) of the operating system on
|
|
||||||
which the executable runs, unless that component itself accompanies
|
|
||||||
the executable.
|
|
||||||
|
|
||||||
It may happen that this requirement contradicts the license
|
|
||||||
restrictions of other proprietary libraries that do not normally
|
|
||||||
accompany the operating system. Such a contradiction means you cannot
|
|
||||||
use both them and the Library together in an executable that you
|
|
||||||
distribute.
|
|
||||||
|
|
||||||
7. You may place library facilities that are a work based on the
|
|
||||||
Library side-by-side in a single library together with other library
|
|
||||||
facilities not covered by this License, and distribute such a combined
|
|
||||||
library, provided that the separate distribution of the work based on
|
|
||||||
the Library and of the other library facilities is otherwise
|
|
||||||
permitted, and provided that you do these two things:
|
|
||||||
|
|
||||||
a) Accompany the combined library with a copy of the same work
|
|
||||||
based on the Library, uncombined with any other library
|
|
||||||
facilities. This must be distributed under the terms of the
|
|
||||||
Sections above.
|
|
||||||
|
|
||||||
b) Give prominent notice with the combined library of the fact
|
|
||||||
that part of it is a work based on the Library, and explaining
|
|
||||||
where to find the accompanying uncombined form of the same work.
|
|
||||||
|
|
||||||
8. You may not copy, modify, sublicense, link with, or distribute
|
|
||||||
the Library except as expressly provided under this License. Any
|
|
||||||
attempt otherwise to copy, modify, sublicense, link with, or
|
|
||||||
distribute the Library is void, and will automatically terminate your
|
|
||||||
rights under this License. However, parties who have received copies,
|
|
||||||
or rights, from you under this License will not have their licenses
|
|
||||||
terminated so long as such parties remain in full compliance.
|
|
||||||
|
|
||||||
9. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Library or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Library (or any work based on the
|
|
||||||
Library), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Library or works based on it.
|
|
||||||
|
|
||||||
10. Each time you redistribute the Library (or any work based on the
|
|
||||||
Library), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute, link with or modify the Library
|
|
||||||
subject to these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
11. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Library at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Library by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Library.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under any
|
|
||||||
particular circumstance, the balance of the section is intended to apply,
|
|
||||||
and the section as a whole is intended to apply in other circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
12. If the distribution and/or use of the Library is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Library under this License may add
|
|
||||||
an explicit geographical distribution limitation excluding those countries,
|
|
||||||
so that distribution is permitted only in or among countries not thus
|
|
||||||
excluded. In such case, this License incorporates the limitation as if
|
|
||||||
written in the body of this License.
|
|
||||||
|
|
||||||
13. The Free Software Foundation may publish revised and/or new
|
|
||||||
versions of the Library General Public License from time to time.
|
|
||||||
Such new versions will be similar in spirit to the present version,
|
|
||||||
but may differ in detail to address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Library
|
|
||||||
specifies a version number of this License which applies to it and
|
|
||||||
"any later version", you have the option of following the terms and
|
|
||||||
conditions either of that version or of any later version published by
|
|
||||||
the Free Software Foundation. If the Library does not specify a
|
|
||||||
license version number, you may choose any version ever published by
|
|
||||||
the Free Software Foundation.
|
|
||||||
|
|
||||||
14. If you wish to incorporate parts of the Library into other free
|
|
||||||
programs whose distribution conditions are incompatible with these,
|
|
||||||
write to the author to ask for permission. For software which is
|
|
||||||
copyrighted by the Free Software Foundation, write to the Free
|
|
||||||
Software Foundation; we sometimes make exceptions for this. Our
|
|
||||||
decision will be guided by the two goals of preserving the free status
|
|
||||||
of all derivatives of our free software and of promoting the sharing
|
|
||||||
and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
|
||||||
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
|
||||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
|
||||||
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
|
||||||
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
|
||||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
|
||||||
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
|
||||||
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
|
||||||
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
|
||||||
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
|
||||||
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
|
||||||
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
|
||||||
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
|
||||||
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
|
||||||
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
|
||||||
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
|
||||||
DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Libraries
|
|
||||||
|
|
||||||
If you develop a new library, and you want it to be of the greatest
|
|
||||||
possible use to the public, we recommend making it free software that
|
|
||||||
everyone can redistribute and change. You can do so by permitting
|
|
||||||
redistribution under these terms (or, alternatively, under the terms of the
|
|
||||||
ordinary General Public License).
|
|
||||||
|
|
||||||
To apply these terms, attach the following notices to the library. It is
|
|
||||||
safest to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least the
|
|
||||||
"copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the library's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
This library is free software; you can redistribute it and/or
|
|
||||||
modify it under the terms of the GNU Library General Public
|
|
||||||
License as published by the Free Software Foundation; either
|
|
||||||
version 2 of the License, or (at your option) any later version.
|
|
||||||
|
|
||||||
This library is distributed in the hope that it will be useful,
|
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
||||||
Library General Public License for more details.
|
|
||||||
|
|
||||||
You should have received a copy of the GNU Library General Public
|
|
||||||
License along with this library; if not, write to the Free
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the library, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
|
||||||
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1990
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
That's all there is to it!
|
|
||||||
51
extern/bFTGL/README.txt
vendored
51
extern/bFTGL/README.txt
vendored
@@ -1,51 +0,0 @@
|
|||||||
FTGL 2.0.11
|
|
||||||
16 August 2004
|
|
||||||
|
|
||||||
DESCRIPTION:
|
|
||||||
|
|
||||||
FTGL is a free open source library to enable developers to use arbitrary
|
|
||||||
fonts in their OpenGL (www.opengl.org) applications.
|
|
||||||
Unlike other OpenGL font libraries FTGL uses standard font file formats
|
|
||||||
so doesn't need a preprocessing step to convert the high quality font data
|
|
||||||
into a lesser quality, proprietary format.
|
|
||||||
FTGL uses the Freetype (www.freetype.org) font library to open and 'decode'
|
|
||||||
the fonts. It then takes that output and stores it in a format most efficient
|
|
||||||
for OpenGL rendering.
|
|
||||||
|
|
||||||
Rendering modes supported are
|
|
||||||
- Bit maps
|
|
||||||
- Antialiased Pix maps
|
|
||||||
- Texture maps
|
|
||||||
- Outlines
|
|
||||||
- Polygon meshes
|
|
||||||
- Extruded polygon meshes
|
|
||||||
|
|
||||||
FTGL is designed to be used in commercial quality software. It has been
|
|
||||||
written with performance, robustness and simplicity in mind.
|
|
||||||
|
|
||||||
USAGE:
|
|
||||||
|
|
||||||
FTGLPixmapFont font( "Fonts:Arial");
|
|
||||||
|
|
||||||
font.FaceSize( 72);
|
|
||||||
|
|
||||||
font.render( "Hello World!");
|
|
||||||
|
|
||||||
This library was inspired by gltt, Copyright (C) 1998-1999 Stephane Rehel
|
|
||||||
(http://gltt.sourceforge.net)
|
|
||||||
Bezier curve code contributed by Jed Soane.
|
|
||||||
Demo, Linux port, extrusion code and gltt maintainance by Gerard Lanois
|
|
||||||
Linux port by Matthias Kretz
|
|
||||||
Windows port by Andrew Ellerton & Max Rheiner
|
|
||||||
Bug fixes by Robert Osfield, Marcelo E. Magallon, Markku Rontu, Mark A. Fox,
|
|
||||||
Patrick Rogers
|
|
||||||
Containers and optimisations by Sebastien Barre
|
|
||||||
Autoconf Marcelo E. Magallon.
|
|
||||||
|
|
||||||
|
|
||||||
Please contact me if you have any suggestions, feature requests, or problems.
|
|
||||||
|
|
||||||
Henry Maddocks
|
|
||||||
ftgl@opengl.geek.nz
|
|
||||||
http://homepages.paradise.net.nz/henryj/
|
|
||||||
|
|
||||||
12
extern/bFTGL/SConscript
vendored
12
extern/bFTGL/SConscript
vendored
@@ -1,12 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
|
|
||||||
Import('env')
|
|
||||||
|
|
||||||
incs = 'include src ' + env['BF_FREETYPE_INC'] + ' ' + env['BF_OPENGL_INC']
|
|
||||||
defs = ''
|
|
||||||
|
|
||||||
sources = env.Glob('src/*.cpp')
|
|
||||||
|
|
||||||
env.BlenderLib ( 'extern_ftgl', sources, Split(incs), Split(defs), libtype=['extern'], priority=[5])
|
|
||||||
4
extern/bFTGL/cleanup
vendored
4
extern/bFTGL/cleanup
vendored
@@ -1,4 +0,0 @@
|
|||||||
#!/bin/sh -fx
|
|
||||||
# script to get rid of the grabage that MAC OSX drops in all the directories
|
|
||||||
|
|
||||||
find . -name .DS_Store -print -exec rm {} \;
|
|
||||||
124
extern/bFTGL/include/FTBBox.h
vendored
124
extern/bFTGL/include/FTBBox.h
vendored
@@ -1,124 +0,0 @@
|
|||||||
#ifndef __FTBBox__
|
|
||||||
#define __FTBBox__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
//#include FT_GLYPH_H
|
|
||||||
#include FT_OUTLINE_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTPoint.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTBBox is a convenience class for handling bounding boxes.
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTBBox
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Default constructor. Bounding box is set to zero.
|
|
||||||
*/
|
|
||||||
FTBBox()
|
|
||||||
: lowerX(0.0f),
|
|
||||||
lowerY(0.0f),
|
|
||||||
lowerZ(0.0f),
|
|
||||||
upperX(0.0f),
|
|
||||||
upperY(0.0f),
|
|
||||||
upperZ(0.0f)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor.
|
|
||||||
*/
|
|
||||||
FTBBox( float lx, float ly, float lz, float ux, float uy, float uz)
|
|
||||||
: lowerX(lx),
|
|
||||||
lowerY(ly),
|
|
||||||
lowerZ(lz),
|
|
||||||
upperX(ux),
|
|
||||||
upperY(uy),
|
|
||||||
upperZ(uz)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor. Extracts a bounding box from a freetype glyph. Uses
|
|
||||||
* the control box for the glyph. <code>FT_Glyph_Get_CBox()</code>
|
|
||||||
*
|
|
||||||
* @param glyph A freetype glyph
|
|
||||||
*/
|
|
||||||
FTBBox( FT_GlyphSlot glyph)
|
|
||||||
: lowerX(0.0f),
|
|
||||||
lowerY(0.0f),
|
|
||||||
lowerZ(0.0f),
|
|
||||||
upperX(0.0f),
|
|
||||||
upperY(0.0f),
|
|
||||||
upperZ(0.0f)
|
|
||||||
{
|
|
||||||
FT_BBox bbox;
|
|
||||||
FT_Outline_Get_CBox( &(glyph->outline), &bbox);
|
|
||||||
|
|
||||||
lowerX = static_cast<float>( bbox.xMin) / 64.0f;
|
|
||||||
lowerY = static_cast<float>( bbox.yMin) / 64.0f;
|
|
||||||
lowerZ = 0.0f;
|
|
||||||
upperX = static_cast<float>( bbox.xMax) / 64.0f;
|
|
||||||
upperY = static_cast<float>( bbox.yMax) / 64.0f;
|
|
||||||
upperZ = 0.0f;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTBBox()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Move the Bounding Box by a vector.
|
|
||||||
*
|
|
||||||
* @param distance The distance to move the bbox in 3D space.
|
|
||||||
*/
|
|
||||||
FTBBox& Move( FTPoint distance)
|
|
||||||
{
|
|
||||||
lowerX += distance.x;
|
|
||||||
lowerY += distance.y;
|
|
||||||
lowerZ += distance.z;
|
|
||||||
upperX += distance.x;
|
|
||||||
upperY += distance.y;
|
|
||||||
upperZ += distance.z;
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
FTBBox& operator += ( const FTBBox& bbox)
|
|
||||||
{
|
|
||||||
lowerX = bbox.lowerX < lowerX? bbox.lowerX: lowerX;
|
|
||||||
lowerY = bbox.lowerY < lowerY? bbox.lowerY: lowerY;
|
|
||||||
lowerZ = bbox.lowerZ < lowerZ? bbox.lowerZ: lowerZ;
|
|
||||||
upperX = bbox.upperX > upperX? bbox.upperX: upperX;
|
|
||||||
upperY = bbox.upperY > upperY? bbox.upperY: upperY;
|
|
||||||
upperZ = bbox.upperZ > upperZ? bbox.upperZ: upperZ;
|
|
||||||
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
void SetDepth( float depth)
|
|
||||||
{
|
|
||||||
upperZ = lowerZ + depth;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The bounds of the box
|
|
||||||
*/
|
|
||||||
// Make these ftPoints & private
|
|
||||||
float lowerX, lowerY, lowerZ, upperX, upperY, upperZ;
|
|
||||||
protected:
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTBBox__
|
|
||||||
|
|
||||||
76
extern/bFTGL/include/FTBitmapGlyph.h
vendored
76
extern/bFTGL/include/FTBitmapGlyph.h
vendored
@@ -1,76 +0,0 @@
|
|||||||
#ifndef __FTBitmapGlyph__
|
|
||||||
#define __FTBitmapGlyph__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTBitmapGlyph is a specialisation of FTGlyph for creating bitmaps.
|
|
||||||
*
|
|
||||||
* It provides the interface between Freetype glyphs and their openGL
|
|
||||||
* Renderable counterparts. This is an abstract class and derived classes
|
|
||||||
* must implement the <code>Render</code> function.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTBitmapGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
*/
|
|
||||||
FTBitmapGlyph( FT_GlyphSlot glyph);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTBitmapGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The width of the glyph 'image'
|
|
||||||
*/
|
|
||||||
unsigned int destWidth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The height of the glyph 'image'
|
|
||||||
*/
|
|
||||||
unsigned int destHeight;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The pitch of the glyph 'image'
|
|
||||||
*/
|
|
||||||
unsigned int destPitch;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vector from the pen position to the topleft corner of the bitmap
|
|
||||||
*/
|
|
||||||
FTPoint pos;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pointer to the 'image' data
|
|
||||||
*/
|
|
||||||
unsigned char* data;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTBitmapGlyph__
|
|
||||||
|
|
||||||
76
extern/bFTGL/include/FTBufferGlyph.h
vendored
76
extern/bFTGL/include/FTBufferGlyph.h
vendored
@@ -1,76 +0,0 @@
|
|||||||
#ifndef __FTBufferGlyph__
|
|
||||||
#define __FTBufferGlyph__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTBufferGlyph is a specialisation of FTGlyph for creating pixmaps.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTBufferGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
*/
|
|
||||||
FTBufferGlyph( FT_GlyphSlot glyph, unsigned char* clientBuffer);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTBufferGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
// attributes
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The width of the glyph 'image'
|
|
||||||
*/
|
|
||||||
int destWidth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The height of the glyph 'image'
|
|
||||||
*/
|
|
||||||
int destHeight;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The pitch of the glyph 'image'
|
|
||||||
*/
|
|
||||||
unsigned int destPitch;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vector from the pen position to the topleft corner of the pixmap
|
|
||||||
*/
|
|
||||||
FTPoint pos;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pointer to the 'image' data
|
|
||||||
*/
|
|
||||||
unsigned char* data;
|
|
||||||
|
|
||||||
|
|
||||||
unsigned char* buffer;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTBufferGlyph__
|
|
||||||
130
extern/bFTGL/include/FTCharToGlyphIndexMap.h
vendored
130
extern/bFTGL/include/FTCharToGlyphIndexMap.h
vendored
@@ -1,130 +0,0 @@
|
|||||||
#ifndef __FTCharToGlyphIndexMap__
|
|
||||||
#define __FTCharToGlyphIndexMap__
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides a non-STL alternative to the STL map<unsigned long, unsigned long>
|
|
||||||
* which maps character codes to glyph indices inside FTCharmap.
|
|
||||||
*
|
|
||||||
* Implementation:
|
|
||||||
* - NumberOfBuckets buckets are considered.
|
|
||||||
* - Each bucket has BucketSize entries.
|
|
||||||
* - When the glyph index for the character code C has to be stored, the
|
|
||||||
* bucket this character belongs to is found using 'C div BucketSize'.
|
|
||||||
* If this bucket has not been allocated yet, do it now.
|
|
||||||
* The entry in the bucked is found using 'C mod BucketSize'.
|
|
||||||
* If it is set to IndexNotFound, then the glyph entry has not been set.
|
|
||||||
* - Try to mimic the calls made to the STL map API.
|
|
||||||
*
|
|
||||||
* Caveats:
|
|
||||||
* - The glyph index is now a signed long instead of unsigned long, so
|
|
||||||
* the special value IndexNotFound (= -1) can be used to specify that the
|
|
||||||
* glyph index has not been stored yet.
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTCharToGlyphIndexMap
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
|
|
||||||
typedef unsigned long CharacterCode;
|
|
||||||
typedef signed long GlyphIndex;
|
|
||||||
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
NumberOfBuckets = 256,
|
|
||||||
BucketSize = 256,
|
|
||||||
IndexNotFound = -1
|
|
||||||
};
|
|
||||||
|
|
||||||
FTCharToGlyphIndexMap()
|
|
||||||
{
|
|
||||||
this->Indices = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
virtual ~FTCharToGlyphIndexMap()
|
|
||||||
{
|
|
||||||
if( this->Indices)
|
|
||||||
{
|
|
||||||
// Free all buckets
|
|
||||||
this->clear();
|
|
||||||
|
|
||||||
// Free main structure
|
|
||||||
delete [] this->Indices;
|
|
||||||
this->Indices = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void clear()
|
|
||||||
{
|
|
||||||
if(this->Indices)
|
|
||||||
{
|
|
||||||
for( int i = 0; i < FTCharToGlyphIndexMap::NumberOfBuckets; i++)
|
|
||||||
{
|
|
||||||
if( this->Indices[i])
|
|
||||||
{
|
|
||||||
delete [] this->Indices[i];
|
|
||||||
this->Indices[i] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const GlyphIndex find( CharacterCode c)
|
|
||||||
{
|
|
||||||
if( !this->Indices)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Find position of char code in buckets
|
|
||||||
div_t pos = div( c, FTCharToGlyphIndexMap::BucketSize);
|
|
||||||
|
|
||||||
if( !this->Indices[pos.quot])
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
const FTCharToGlyphIndexMap::GlyphIndex *ptr = &this->Indices[pos.quot][pos.rem];
|
|
||||||
if( *ptr == FTCharToGlyphIndexMap::IndexNotFound)
|
|
||||||
{
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return *ptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void insert( CharacterCode c, GlyphIndex g)
|
|
||||||
{
|
|
||||||
if( !this->Indices)
|
|
||||||
{
|
|
||||||
this->Indices = new GlyphIndex* [FTCharToGlyphIndexMap::NumberOfBuckets];
|
|
||||||
for( int i = 0; i < FTCharToGlyphIndexMap::NumberOfBuckets; i++)
|
|
||||||
{
|
|
||||||
this->Indices[i] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Find position of char code in buckets
|
|
||||||
div_t pos = div(c, FTCharToGlyphIndexMap::BucketSize);
|
|
||||||
|
|
||||||
// Allocate bucket if does not exist yet
|
|
||||||
if( !this->Indices[pos.quot])
|
|
||||||
{
|
|
||||||
this->Indices[pos.quot] = new GlyphIndex [FTCharToGlyphIndexMap::BucketSize];
|
|
||||||
for( int i = 0; i < FTCharToGlyphIndexMap::BucketSize; i++)
|
|
||||||
{
|
|
||||||
this->Indices[pos.quot][i] = FTCharToGlyphIndexMap::IndexNotFound;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this->Indices[pos.quot][pos.rem] = g;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
GlyphIndex** Indices;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTCharToGlyphIndexMap__
|
|
||||||
136
extern/bFTGL/include/FTCharmap.h
vendored
136
extern/bFTGL/include/FTCharmap.h
vendored
@@ -1,136 +0,0 @@
|
|||||||
#ifndef __FTCharmap__
|
|
||||||
#define __FTCharmap__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTCharToGlyphIndexMap.h"
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTCharmap takes care of specifying the encoding for a font and mapping
|
|
||||||
* character codes to glyph indices.
|
|
||||||
*
|
|
||||||
* It doesn't preprocess all indices, only on an as needed basis. This may
|
|
||||||
* seem like a performance penalty but it is quicker than using the 'raw'
|
|
||||||
* freetype calls and will save significant amounts of memory when dealing
|
|
||||||
* with unicode encoding
|
|
||||||
*
|
|
||||||
* @see "Freetype 2 Documentation"
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
class FTFace;
|
|
||||||
|
|
||||||
class FTGL_EXPORT FTCharmap
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FTCharmap( FTFace* face);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTCharmap();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries for the current character map code.
|
|
||||||
*
|
|
||||||
* @return The current character map code.
|
|
||||||
*/
|
|
||||||
FT_Encoding Encoding() const { return ftEncoding;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the character map for the face.
|
|
||||||
* Valid encodings as at Freetype 2.0.4
|
|
||||||
* ft_encoding_none
|
|
||||||
* ft_encoding_symbol
|
|
||||||
* ft_encoding_unicode
|
|
||||||
* ft_encoding_latin_2
|
|
||||||
* ft_encoding_sjis
|
|
||||||
* ft_encoding_gb2312
|
|
||||||
* ft_encoding_big5
|
|
||||||
* ft_encoding_wansung
|
|
||||||
* ft_encoding_johab
|
|
||||||
* ft_encoding_adobe_standard
|
|
||||||
* ft_encoding_adobe_expert
|
|
||||||
* ft_encoding_adobe_custom
|
|
||||||
* ft_encoding_apple_roman
|
|
||||||
*
|
|
||||||
* @param encoding the Freetype encoding symbol. See above.
|
|
||||||
* @return <code>true</code> if charmap was valid and set
|
|
||||||
* correctly. If the requested encoding is
|
|
||||||
* unavailable it will be set to ft_encoding_none.
|
|
||||||
*/
|
|
||||||
bool CharMap( FT_Encoding encoding);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the FTGlyphContainer index of the input character.
|
|
||||||
*
|
|
||||||
* @param characterCode The character code of the requested glyph in
|
|
||||||
* the current encoding eg apple roman.
|
|
||||||
* @return The FTGlyphContainer index for the character or zero
|
|
||||||
* if it wasn't found
|
|
||||||
*/
|
|
||||||
unsigned int GlyphListIndex( const unsigned int characterCode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the font glyph index of the input character.
|
|
||||||
*
|
|
||||||
* @param characterCode The character code of the requested glyph in
|
|
||||||
* the current encoding eg apple roman.
|
|
||||||
* @return The glyph index for the character.
|
|
||||||
*/
|
|
||||||
unsigned int FontIndex( const unsigned int characterCode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the FTGlyphContainer index of the character code.
|
|
||||||
*
|
|
||||||
* @param characterCode The character code of the requested glyph in
|
|
||||||
* the current encoding eg apple roman.
|
|
||||||
* @param containerIndex The index into the FTGlyphContainer of the
|
|
||||||
* character code.
|
|
||||||
*/
|
|
||||||
void InsertIndex( const unsigned int characterCode, const unsigned int containerIndex);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err;}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Current character map code.
|
|
||||||
*/
|
|
||||||
FT_Encoding ftEncoding;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The current Freetype face.
|
|
||||||
*/
|
|
||||||
const FT_Face ftFace;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A structure that maps glyph indices to character codes
|
|
||||||
*
|
|
||||||
* < character code, face glyph index>
|
|
||||||
*/
|
|
||||||
typedef FTCharToGlyphIndexMap CharacterMap;
|
|
||||||
CharacterMap charMap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTCharmap__
|
|
||||||
88
extern/bFTGL/include/FTContour.h
vendored
88
extern/bFTGL/include/FTContour.h
vendored
@@ -1,88 +0,0 @@
|
|||||||
#ifndef __FTContour__
|
|
||||||
#define __FTContour__
|
|
||||||
|
|
||||||
#include "FTPoint.h"
|
|
||||||
#include "FTVector.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTContour class is a container of points that describe a vector font
|
|
||||||
* outline. It is used as a container for the output of the bezier curve
|
|
||||||
* evaluator in FTVectoriser.
|
|
||||||
*
|
|
||||||
* @see FTOutlineGlyph
|
|
||||||
* @see FTPolyGlyph
|
|
||||||
* @see FTPoint
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTContour
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param contour
|
|
||||||
* @param pointTags
|
|
||||||
* @param numberOfPoints
|
|
||||||
*/
|
|
||||||
FTContour( FT_Vector* contour, char* pointTags, unsigned int numberOfPoints);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTContour()
|
|
||||||
{
|
|
||||||
pointList.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a point at index.
|
|
||||||
*
|
|
||||||
* @param index of the point in the curve.
|
|
||||||
* @return const point reference
|
|
||||||
*/
|
|
||||||
const FTPoint& Point( unsigned int index) const { return pointList[index];}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* How many points define this contour
|
|
||||||
*
|
|
||||||
* @return the number of points in this contour
|
|
||||||
*/
|
|
||||||
size_t PointCount() const { return pointList.size();}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Add a point to this contour. This function tests for duplicate
|
|
||||||
* points.
|
|
||||||
*
|
|
||||||
* @param point The point to be added to the contour.
|
|
||||||
*/
|
|
||||||
inline void AddPoint( FTPoint point);
|
|
||||||
|
|
||||||
inline void AddPoint( float x, float y);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* De Casteljau (bezier) algorithm contributed by Jed Soane
|
|
||||||
* Evaluates a quadratic or conic (second degree) curve
|
|
||||||
*/
|
|
||||||
inline void evaluateQuadraticCurve();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* De Casteljau (bezier) algorithm contributed by Jed Soane
|
|
||||||
* Evaluates a cubic (third degree) curve
|
|
||||||
*/
|
|
||||||
inline void evaluateCubicCurve();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The list of points in this contour
|
|
||||||
*/
|
|
||||||
typedef FTVector<FTPoint> PointVector;
|
|
||||||
PointVector pointList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 2D array storing values of de Casteljau algorithm.
|
|
||||||
*/
|
|
||||||
float controlPoints[4][2];
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __FTContour__
|
|
||||||
71
extern/bFTGL/include/FTExtrdGlyph.h
vendored
71
extern/bFTGL/include/FTExtrdGlyph.h
vendored
@@ -1,71 +0,0 @@
|
|||||||
#ifndef __FTExtrdGlyph__
|
|
||||||
#define __FTExtrdGlyph__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
class FTVectoriser;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTExtrdGlyph is a specialisation of FTGlyph for creating tessellated
|
|
||||||
* extruded polygon glyphs.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
* @see FTVectoriser
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTExtrdGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor. Sets the Error to Invalid_Outline if the glyphs isn't an outline.
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
* @param depth The distance along the z axis to extrude the glyph
|
|
||||||
*/
|
|
||||||
FTExtrdGlyph( FT_GlyphSlot glyph, float depth);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTExtrdGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Calculate the normal vector to 2 points. This is 2D and ignores
|
|
||||||
* the z component. The normal will be normalised
|
|
||||||
*
|
|
||||||
* @param a
|
|
||||||
* @param b
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
FTPoint GetNormal( const FTPoint &a, const FTPoint &b);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* OpenGL display list
|
|
||||||
*/
|
|
||||||
GLuint glList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Distance to extrude the glyph
|
|
||||||
*/
|
|
||||||
float depth;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTExtrdGlyph__
|
|
||||||
|
|
||||||
149
extern/bFTGL/include/FTFace.h
vendored
149
extern/bFTGL/include/FTFace.h
vendored
@@ -1,149 +0,0 @@
|
|||||||
#ifndef __FTFace__
|
|
||||||
#define __FTFace__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTPoint.h"
|
|
||||||
#include "FTSize.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTFace class provides an abstraction layer for the Freetype Face.
|
|
||||||
*
|
|
||||||
* @see "Freetype 2 Documentation"
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTFace
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Opens and reads a face file. Error is set.
|
|
||||||
*
|
|
||||||
* @param filename font file name.
|
|
||||||
*/
|
|
||||||
FTFace( const char* filename);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Read face data from an in-memory buffer. Error is set.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTFace( const unsigned char *pBufferBytes, size_t bufferSizeInBytes );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*
|
|
||||||
* Disposes of the current Freetype Face.
|
|
||||||
*/
|
|
||||||
virtual ~FTFace();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attach auxilliary file to font (e.g., font metrics).
|
|
||||||
*
|
|
||||||
* @param filename auxilliary font file name.
|
|
||||||
* @return <code>true</code> if file has opened
|
|
||||||
* successfully.
|
|
||||||
*/
|
|
||||||
bool Attach( const char* filename);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attach auxilliary data to font (e.g., font metrics) from memory
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
* @return <code>true</code> if file has opened
|
|
||||||
* successfully.
|
|
||||||
*/
|
|
||||||
bool Attach( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Disposes of the face
|
|
||||||
*/
|
|
||||||
void Close();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the freetype face object..
|
|
||||||
*
|
|
||||||
* @return pointer to an FT_Face.
|
|
||||||
*/
|
|
||||||
FT_Face* Face() const { return ftFace;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the char size for the current face.
|
|
||||||
*
|
|
||||||
* This doesn't guarantee that the size was set correctly. Clients
|
|
||||||
* should check errors.
|
|
||||||
*
|
|
||||||
* @param size the face size in points (1/72 inch)
|
|
||||||
* @param res the resolution of the target device.
|
|
||||||
* @return <code>FTSize</code> object
|
|
||||||
*/
|
|
||||||
const FTSize& Size( const unsigned int size, const unsigned int res);
|
|
||||||
|
|
||||||
unsigned int UnitsPerEM() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the number of character maps in this face.
|
|
||||||
*
|
|
||||||
* @return character map count.
|
|
||||||
*/
|
|
||||||
unsigned int CharMapCount();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a list of character maps in this face.
|
|
||||||
*
|
|
||||||
* @return pointer to the first encoding.
|
|
||||||
*/
|
|
||||||
FT_Encoding* CharMapList();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the kerning vector between two glyphs
|
|
||||||
*/
|
|
||||||
FTPoint KernAdvance( unsigned int index1, unsigned int index2);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads and creates a Freetype glyph.
|
|
||||||
*/
|
|
||||||
FT_GlyphSlot Glyph( unsigned int index, FT_Int load_flags);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the number of glyphs in the current face.
|
|
||||||
*/
|
|
||||||
unsigned int GlyphCount() const { return numGlyphs;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The Freetype face
|
|
||||||
*/
|
|
||||||
FT_Face* ftFace;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The size object associated with this face
|
|
||||||
*/
|
|
||||||
FTSize charSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The number of glyphs in this face
|
|
||||||
*/
|
|
||||||
int numGlyphs;
|
|
||||||
|
|
||||||
FT_Encoding* fontEncodingList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTFace__
|
|
||||||
260
extern/bFTGL/include/FTFont.h
vendored
260
extern/bFTGL/include/FTFont.h
vendored
@@ -1,260 +0,0 @@
|
|||||||
#ifndef __FTFont__
|
|
||||||
#define __FTFont__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
|
|
||||||
#include "FTFace.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
class FTGlyphContainer;
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTFont is the public interface for the FTGL library.
|
|
||||||
*
|
|
||||||
* Specific font classes are derived from this class. It uses the helper
|
|
||||||
* classes FTFace and FTSize to access the Freetype library. This class
|
|
||||||
* is abstract and deriving classes must implement the protected
|
|
||||||
* <code>MakeGlyph</code> function to create glyphs of the
|
|
||||||
* appropriate type.
|
|
||||||
*
|
|
||||||
* It is good practice after using these functions to test the error
|
|
||||||
* code returned. <code>FT_Error Error()</code>
|
|
||||||
*
|
|
||||||
* @see FTFace
|
|
||||||
* @see FTSize
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
* @see FTGlyph
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
* The buffer is owned by the client and is NOT copied by FTGL. The
|
|
||||||
* pointer must be valid while using FTGL.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTFont();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attach auxilliary file to font e.g font metrics.
|
|
||||||
*
|
|
||||||
* Note: not all font formats implement this function.
|
|
||||||
*
|
|
||||||
* @param filename auxilliary font file name.
|
|
||||||
* @return <code>true</code> if file has been attached
|
|
||||||
* successfully.
|
|
||||||
*/
|
|
||||||
bool Attach( const char* filename);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Attach auxilliary data to font e.g font metrics, from memory
|
|
||||||
*
|
|
||||||
* Note: not all font formats implement this function.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
* @return <code>true</code> if file has been attached
|
|
||||||
* successfully.
|
|
||||||
*/
|
|
||||||
bool Attach( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the character map for the face.
|
|
||||||
*
|
|
||||||
* @param encoding Freetype enumerate for char map code.
|
|
||||||
* @return <code>true</code> if charmap was valid and
|
|
||||||
* set correctly
|
|
||||||
*/
|
|
||||||
bool CharMap( FT_Encoding encoding );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the number of character maps in this face.
|
|
||||||
*
|
|
||||||
* @return character map count.
|
|
||||||
*/
|
|
||||||
unsigned int CharMapCount();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a list of character maps in this face.
|
|
||||||
*
|
|
||||||
* @return pointer to the first encoding.
|
|
||||||
*/
|
|
||||||
FT_Encoding* CharMapList();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the char size for the current face.
|
|
||||||
*
|
|
||||||
* @param size the face size in points (1/72 inch)
|
|
||||||
* @param res the resolution of the target device.
|
|
||||||
* @return <code>true</code> if size was set correctly
|
|
||||||
*/
|
|
||||||
virtual bool FaceSize( const unsigned int size, const unsigned int res = 72);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the current face size in points.
|
|
||||||
*
|
|
||||||
* @return face size
|
|
||||||
*/
|
|
||||||
unsigned int FaceSize() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the extrusion distance for the font. Only implemented by
|
|
||||||
* FTGLExtrdFont
|
|
||||||
*
|
|
||||||
* @param d The extrusion distance.
|
|
||||||
*/
|
|
||||||
virtual void Depth( float d){}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the global ascender height for the face.
|
|
||||||
*
|
|
||||||
* @return Ascender height
|
|
||||||
*/
|
|
||||||
float Ascender() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the global descender height for the face.
|
|
||||||
*
|
|
||||||
* @return Descender height
|
|
||||||
*/
|
|
||||||
float Descender() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the bounding box for a string.
|
|
||||||
*
|
|
||||||
* @param string a char string
|
|
||||||
* @param llx lower left near x coord
|
|
||||||
* @param lly lower left near y coord
|
|
||||||
* @param llz lower left near z coord
|
|
||||||
* @param urx upper right far x coord
|
|
||||||
* @param ury upper right far y coord
|
|
||||||
* @param urz upper right far z coord
|
|
||||||
*/
|
|
||||||
void BBox( const char* string, float& llx, float& lly, float& llz, float& urx, float& ury, float& urz);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the bounding box for a string.
|
|
||||||
*
|
|
||||||
* @param string a wchar_t string
|
|
||||||
* @param llx lower left near x coord
|
|
||||||
* @param lly lower left near y coord
|
|
||||||
* @param llz lower left near z coord
|
|
||||||
* @param urx upper right far x coord
|
|
||||||
* @param ury upper right far y coord
|
|
||||||
* @param urz upper right far z coord
|
|
||||||
*/
|
|
||||||
void BBox( const wchar_t* string, float& llx, float& lly, float& llz, float& urx, float& ury, float& urz);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the advance width for a string.
|
|
||||||
*
|
|
||||||
* @param string a wchar_t string
|
|
||||||
* @return advance width
|
|
||||||
*/
|
|
||||||
float Advance( const wchar_t* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the advance width for a string.
|
|
||||||
*
|
|
||||||
* @param string a char string
|
|
||||||
* @return advance width
|
|
||||||
*/
|
|
||||||
float Advance( const char* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style string to be output.
|
|
||||||
*/
|
|
||||||
virtual void Render( const char* string );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Render a string of characters
|
|
||||||
*
|
|
||||||
* @param string wchar_t string to be output.
|
|
||||||
*/
|
|
||||||
virtual void Render( const wchar_t* string );
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries the Font for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err;}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/**
|
|
||||||
* Construct a glyph of the correct type.
|
|
||||||
*
|
|
||||||
* Clients must overide the function and return their specialised
|
|
||||||
* FTGlyph.
|
|
||||||
*
|
|
||||||
* @param g The glyph index NOT the char code.
|
|
||||||
* @return An FT****Glyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
virtual FTGlyph* MakeGlyph( unsigned int g) = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current face object
|
|
||||||
*/
|
|
||||||
FTFace face;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current size object
|
|
||||||
*/
|
|
||||||
FTSize charSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Render a character
|
|
||||||
* This function does an implicit conversion on it's arguments.
|
|
||||||
*
|
|
||||||
* @param chr current character
|
|
||||||
* @param nextChr next character
|
|
||||||
*/
|
|
||||||
inline void DoRender( const unsigned int chr, const unsigned int nextChr);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Check that the glyph at <code>chr</code> exist. If not load it.
|
|
||||||
*
|
|
||||||
* @param chr character index
|
|
||||||
*/
|
|
||||||
inline void CheckGlyph( const unsigned int chr);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* An object that holds a list of glyphs
|
|
||||||
*/
|
|
||||||
FTGlyphContainer* glyphList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current pen or cursor position;
|
|
||||||
*/
|
|
||||||
FTPoint pen;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTFont__
|
|
||||||
|
|
||||||
100
extern/bFTGL/include/FTGL.h
vendored
100
extern/bFTGL/include/FTGL.h
vendored
@@ -1,100 +0,0 @@
|
|||||||
#ifndef __FTGL__
|
|
||||||
#define __FTGL__
|
|
||||||
|
|
||||||
|
|
||||||
typedef double FTGL_DOUBLE;
|
|
||||||
typedef float FTGL_FLOAT;
|
|
||||||
|
|
||||||
// Fixes for deprecated identifiers in 2.1.5
|
|
||||||
#ifndef FT_OPEN_MEMORY
|
|
||||||
#define FT_OPEN_MEMORY (FT_Open_Flags)1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FT_RENDER_MODE_MONO
|
|
||||||
#define FT_RENDER_MODE_MONO ft_render_mode_mono
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef FT_RENDER_MODE_NORMAL
|
|
||||||
#define FT_RENDER_MODE_NORMAL ft_render_mode_normal
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
|
|
||||||
// Under windows avoid including <windows.h> is overrated.
|
|
||||||
// Sure, it can be avoided and "name space pollution" can be
|
|
||||||
// avoided, but why? It really doesn't make that much difference
|
|
||||||
// these days.
|
|
||||||
#define WIN32_LEAN_AND_MEAN
|
|
||||||
#include <windows.h>
|
|
||||||
|
|
||||||
#ifndef __gl_h_
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#include <GL/glu.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
// Non windows platforms - don't require nonsense as seen above :-)
|
|
||||||
#ifndef __gl_h_
|
|
||||||
#ifdef __APPLE_CC__
|
|
||||||
#include <OpenGL/gl.h>
|
|
||||||
#include <OpenGL/glu.h>
|
|
||||||
#else
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#if defined (__sun__) && !defined (__sparc__)
|
|
||||||
#include <mesa/glu.h>
|
|
||||||
#else
|
|
||||||
#include <GL/glu.h>
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Required for compatibility with glext.h style function definitions of
|
|
||||||
// OpenGL extensions, such as in src/osg/Point.cpp.
|
|
||||||
#ifndef APIENTRY
|
|
||||||
#define APIENTRY
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Compiler-specific conditional compilation
|
|
||||||
#ifdef _MSC_VER // MS Visual C++
|
|
||||||
|
|
||||||
// Disable various warning.
|
|
||||||
// 4786: template name too long
|
|
||||||
#pragma warning( disable : 4251 )
|
|
||||||
#pragma warning( disable : 4275 )
|
|
||||||
#pragma warning( disable : 4786 )
|
|
||||||
|
|
||||||
// The following definitions control how symbols are exported.
|
|
||||||
// If the target is a static library ensure that FTGL_LIBRARY_STATIC
|
|
||||||
// is defined. If building a dynamic library (ie DLL) ensure the
|
|
||||||
// FTGL_LIBRARY macro is defined, as it will mark symbols for
|
|
||||||
// export. If compiling a project to _use_ the _dynamic_ library
|
|
||||||
// version of the library, no definition is required.
|
|
||||||
#ifdef FTGL_LIBRARY_STATIC // static lib - no special export required
|
|
||||||
# define FTGL_EXPORT
|
|
||||||
#elif FTGL_LIBRARY // dynamic lib - must export/import symbols appropriately.
|
|
||||||
# define FTGL_EXPORT __declspec(dllexport)
|
|
||||||
#else
|
|
||||||
# define FTGL_EXPORT __declspec(dllimport)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
// Compiler that is not MS Visual C++.
|
|
||||||
// Ensure that the export symbol is defined (and blank)
|
|
||||||
#define FTGL_EXPORT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
// lifted from glext.h, to remove dependancy on glext.h
|
|
||||||
#ifndef GL_EXT_texture_object
|
|
||||||
#define GL_TEXTURE_PRIORITY_EXT 0x8066
|
|
||||||
#define GL_TEXTURE_RESIDENT_EXT 0x8067
|
|
||||||
#define GL_TEXTURE_1D_BINDING_EXT 0x8068
|
|
||||||
#define GL_TEXTURE_2D_BINDING_EXT 0x8069
|
|
||||||
#define GL_TEXTURE_3D_BINDING_EXT 0x806A
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif // __FTGL__
|
|
||||||
65
extern/bFTGL/include/FTGLBitmapFont.h
vendored
65
extern/bFTGL/include/FTGLBitmapFont.h
vendored
@@ -1,65 +0,0 @@
|
|||||||
#ifndef __FTGLBitmapFont__
|
|
||||||
#define __FTGLBitmapFont__
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLBitmapFont is a specialisation of the FTFont class for handling
|
|
||||||
* Bitmap fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLBitmapFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLBitmapFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLBitmapFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGLBitmapFont();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const char* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style wide string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const wchar_t* string);
|
|
||||||
|
|
||||||
// attributes
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTBitmapGlyph.
|
|
||||||
*
|
|
||||||
* @param g The glyph index NOT the char code.
|
|
||||||
* @return An FTBitmapGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int g);
|
|
||||||
|
|
||||||
};
|
|
||||||
#endif // __FTGLBitmapFont__
|
|
||||||
76
extern/bFTGL/include/FTGLBufferFont.h
vendored
76
extern/bFTGL/include/FTGLBufferFont.h
vendored
@@ -1,76 +0,0 @@
|
|||||||
#ifndef __FTGLBufferFont__
|
|
||||||
#define __FTGLBufferFont__
|
|
||||||
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLBufferFont is a specialisation of the FTFont class for handling
|
|
||||||
* Pixmap (Grey Scale) fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLBufferFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLBufferFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLBufferFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
|
|
||||||
void SetClientBuffer( unsigned char* b)
|
|
||||||
{
|
|
||||||
buffer = b;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGLBufferFont();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const char* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string wchar_t string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const wchar_t* string);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTBufferGlyph.
|
|
||||||
*
|
|
||||||
* @param g The glyph index NOT the char code.
|
|
||||||
* @return An FTBufferGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int g);
|
|
||||||
|
|
||||||
unsigned char* buffer;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGLBufferFont__
|
|
||||||
|
|
||||||
55
extern/bFTGL/include/FTGLExtrdFont.h
vendored
55
extern/bFTGL/include/FTGLExtrdFont.h
vendored
@@ -1,55 +0,0 @@
|
|||||||
#ifndef __FTGLExtrdFont__
|
|
||||||
#define __FTGLExtrdFont__
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLExtrdFont is a specialisation of the FTFont class for handling
|
|
||||||
* extruded Polygon fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
* @see FTGLPolygonFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLExtrdFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLExtrdFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLExtrdFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGLExtrdFont();
|
|
||||||
|
|
||||||
void Depth( float d) { depth = d;}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTPolyGlyph.
|
|
||||||
*
|
|
||||||
* @param glyphIndex The glyph index NOT the char code.
|
|
||||||
* @return An FTExtrdGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int glyphIndex);
|
|
||||||
|
|
||||||
float depth;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGLExtrdFont__
|
|
||||||
|
|
||||||
64
extern/bFTGL/include/FTGLOutlineFont.h
vendored
64
extern/bFTGL/include/FTGLOutlineFont.h
vendored
@@ -1,64 +0,0 @@
|
|||||||
#ifndef __FTGLOutlineFont__
|
|
||||||
#define __FTGLOutlineFont__
|
|
||||||
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLOutlineFont is a specialisation of the FTFont class for handling
|
|
||||||
* Vector Outline fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLOutlineFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLOutlineFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLOutlineFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGLOutlineFont();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const char* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string wchar_t string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const wchar_t* string);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTOutlineGlyph.
|
|
||||||
*
|
|
||||||
* @param g The glyph index NOT the char code.
|
|
||||||
* @return An FTOutlineGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int g);
|
|
||||||
|
|
||||||
};
|
|
||||||
#endif // __FTGLOutlineFont__
|
|
||||||
68
extern/bFTGL/include/FTGLPixmapFont.h
vendored
68
extern/bFTGL/include/FTGLPixmapFont.h
vendored
@@ -1,68 +0,0 @@
|
|||||||
#ifndef __FTGLPixmapFont__
|
|
||||||
#define __FTGLPixmapFont__
|
|
||||||
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLPixmapFont is a specialisation of the FTFont class for handling
|
|
||||||
* Pixmap (Grey Scale) fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLPixmapFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLPixmapFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLPixmapFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGLPixmapFont();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const char* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string wchar_t string to be output.
|
|
||||||
*/
|
|
||||||
void Render( const wchar_t* string);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTPixmapGlyph.
|
|
||||||
*
|
|
||||||
* @param g The glyph index NOT the char code.
|
|
||||||
* @return An FTPixmapGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int g);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGLPixmapFont__
|
|
||||||
|
|
||||||
53
extern/bFTGL/include/FTGLPolygonFont.h
vendored
53
extern/bFTGL/include/FTGLPolygonFont.h
vendored
@@ -1,53 +0,0 @@
|
|||||||
#ifndef __FTGLPolygonFont__
|
|
||||||
#define __FTGLPolygonFont__
|
|
||||||
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
class FTGlyph;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLPolygonFont is a specialisation of the FTFont class for handling
|
|
||||||
* tesselated Polygon Mesh fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLPolygonFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLPolygonFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLPolygonFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGLPolygonFont();
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTPolyGlyph.
|
|
||||||
*
|
|
||||||
* @param g The glyph index NOT the char code.
|
|
||||||
* @return An FTPolyGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int g);
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGLPolygonFont__
|
|
||||||
|
|
||||||
151
extern/bFTGL/include/FTGLTextureFont.h
vendored
151
extern/bFTGL/include/FTGLTextureFont.h
vendored
@@ -1,151 +0,0 @@
|
|||||||
#ifndef __FTGLTextureFont__
|
|
||||||
#define __FTGLTextureFont__
|
|
||||||
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTVector.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
class FTTextureGlyph;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGLTextureFont is a specialisation of the FTFont class for handling
|
|
||||||
* Texture mapped fonts
|
|
||||||
*
|
|
||||||
* @see FTFont
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGLTextureFont : public FTFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Open and read a font file. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param fontname font file name.
|
|
||||||
*/
|
|
||||||
FTGLTextureFont( const char* fontname);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Open and read a font from a buffer in memory. Sets Error flag.
|
|
||||||
*
|
|
||||||
* @param pBufferBytes the in-memory buffer
|
|
||||||
* @param bufferSizeInBytes the length of the buffer in bytes
|
|
||||||
*/
|
|
||||||
FTGLTextureFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTGLTextureFont();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set the char size for the current face.
|
|
||||||
*
|
|
||||||
* @param size the face size in points (1/72 inch)
|
|
||||||
* @param res the resolution of the target device.
|
|
||||||
* @return <code>true</code> if size was set correctly
|
|
||||||
*/
|
|
||||||
virtual bool FaceSize( const unsigned int size, const unsigned int res = 72);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string 'C' style string to be output.
|
|
||||||
*/
|
|
||||||
virtual void Render( const char* string);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a string of characters
|
|
||||||
*
|
|
||||||
* @param string wchar_t string to be output.
|
|
||||||
*/
|
|
||||||
virtual void Render( const wchar_t* string);
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Construct a FTTextureGlyph.
|
|
||||||
*
|
|
||||||
* @param glyphIndex The glyph index NOT the char code.
|
|
||||||
* @return An FTTextureGlyph or <code>null</code> on failure.
|
|
||||||
*/
|
|
||||||
inline virtual FTGlyph* MakeGlyph( unsigned int glyphIndex);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the size of a block of memory required to layout the glyphs
|
|
||||||
*
|
|
||||||
* Calculates a width and height based on the glyph sizes and the
|
|
||||||
* number of glyphs. It over estimates.
|
|
||||||
*/
|
|
||||||
inline void CalculateTextureSize();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Creates a 'blank' OpenGL texture object.
|
|
||||||
*
|
|
||||||
* The format is GL_ALPHA and the params are
|
|
||||||
* GL_TEXTURE_WRAP_S = GL_CLAMP
|
|
||||||
* GL_TEXTURE_WRAP_T = GL_CLAMP
|
|
||||||
* GL_TEXTURE_MAG_FILTER = GL_LINEAR
|
|
||||||
* GL_TEXTURE_MIN_FILTER = GL_LINEAR
|
|
||||||
* Note that mipmapping is NOT used
|
|
||||||
*/
|
|
||||||
inline GLuint CreateTexture();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The maximum texture dimension on this OpenGL implemetation
|
|
||||||
*/
|
|
||||||
GLsizei maxTextSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The minimum texture width required to hold the glyphs
|
|
||||||
*/
|
|
||||||
GLsizei textureWidth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The minimum texture height required to hold the glyphs
|
|
||||||
*/
|
|
||||||
GLsizei textureHeight;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*An array of texture ids
|
|
||||||
*/
|
|
||||||
FTVector<GLuint> textureIDList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The max height for glyphs in the current font
|
|
||||||
*/
|
|
||||||
int glyphHeight;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The max width for glyphs in the current font
|
|
||||||
*/
|
|
||||||
int glyphWidth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A value to be added to the height and width to ensure that
|
|
||||||
* glyphs don't overlap in the texture
|
|
||||||
*/
|
|
||||||
unsigned int padding;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
unsigned int numGlyphs;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
unsigned int remGlyphs;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
int xOffset;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*/
|
|
||||||
int yOffset;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGLTextureFont__
|
|
||||||
|
|
||||||
|
|
||||||
89
extern/bFTGL/include/FTGlyph.h
vendored
89
extern/bFTGL/include/FTGlyph.h
vendored
@@ -1,89 +0,0 @@
|
|||||||
#ifndef __FTGlyph__
|
|
||||||
#define __FTGlyph__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTBBox.h"
|
|
||||||
#include "FTPoint.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGlyph is the base class for FTGL glyphs.
|
|
||||||
*
|
|
||||||
* It provides the interface between Freetype glyphs and their openGL
|
|
||||||
* renderable counterparts. This is an abstract class and derived classes
|
|
||||||
* must implement the <code>render</code> function.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
* @see FTBBox
|
|
||||||
* @see FTPoint
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FTGlyph( FT_GlyphSlot glyph);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen) = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the advance width for this glyph.
|
|
||||||
*
|
|
||||||
* @return advance width.
|
|
||||||
*/
|
|
||||||
float Advance() const { return advance;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the bounding box for this glyph.
|
|
||||||
*
|
|
||||||
* @return bounding box.
|
|
||||||
*/
|
|
||||||
const FTBBox& BBox() const { return bBox;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err;}
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/**
|
|
||||||
* The advance distance for this glyph
|
|
||||||
*/
|
|
||||||
float advance;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The bounding box of this glyph.
|
|
||||||
*/
|
|
||||||
FTBBox bBox;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
|
|
||||||
private:
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGlyph__
|
|
||||||
|
|
||||||
127
extern/bFTGL/include/FTGlyphContainer.h
vendored
127
extern/bFTGL/include/FTGlyphContainer.h
vendored
@@ -1,127 +0,0 @@
|
|||||||
#ifndef __FTGlyphContainer__
|
|
||||||
#define __FTGlyphContainer__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTBBox.h"
|
|
||||||
#include "FTPoint.h"
|
|
||||||
#include "FTVector.h"
|
|
||||||
|
|
||||||
class FTFace;
|
|
||||||
class FTGlyph;
|
|
||||||
class FTCharmap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTGlyphContainer holds the post processed FTGlyph objects.
|
|
||||||
*
|
|
||||||
* @see FTGlyph
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTGlyphContainer
|
|
||||||
{
|
|
||||||
typedef FTVector<FTGlyph*> GlyphVector;
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param face The Freetype face
|
|
||||||
*/
|
|
||||||
FTGlyphContainer( FTFace* face);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTGlyphContainer();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the character map for the face.
|
|
||||||
*
|
|
||||||
* @param encoding the Freetype encoding symbol. See above.
|
|
||||||
* @return <code>true</code> if charmap was valid
|
|
||||||
* and set correctly
|
|
||||||
*/
|
|
||||||
bool CharMap( FT_Encoding encoding);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the font index of the input character.
|
|
||||||
*
|
|
||||||
* @param characterCode The character code of the requested glyph in the
|
|
||||||
* current encoding eg apple roman.
|
|
||||||
* @return The font index for the character.
|
|
||||||
*/
|
|
||||||
unsigned int FontIndex( const unsigned int characterCode ) const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Adds a glyph to this glyph list.
|
|
||||||
*
|
|
||||||
* @param glyph The FTGlyph to be inserted into the container
|
|
||||||
* @param characterCode The char code of the glyph NOT the glyph index.
|
|
||||||
*/
|
|
||||||
void Add( FTGlyph* glyph, const unsigned int characterCode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get a glyph from the glyph list
|
|
||||||
*
|
|
||||||
* @param characterCode The char code of the glyph NOT the glyph index
|
|
||||||
* @return An FTGlyph or <code>null</code> is it hasn't been
|
|
||||||
* loaded.
|
|
||||||
*/
|
|
||||||
const FTGlyph* const Glyph( const unsigned int characterCode) const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the bounding box for a character.
|
|
||||||
* @param characterCode The char code of the glyph NOT the glyph index
|
|
||||||
*/
|
|
||||||
FTBBox BBox( const unsigned int characterCode) const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the kerned advance width for a glyph.
|
|
||||||
*
|
|
||||||
* @param characterCode glyph index of the character
|
|
||||||
* @param nextCharacterCode the next glyph in a string
|
|
||||||
* @return advance width
|
|
||||||
*/
|
|
||||||
float Advance( const unsigned int characterCode, const unsigned int nextCharacterCode);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders a character
|
|
||||||
* @param characterCode the glyph to be Rendered
|
|
||||||
* @param nextCharacterCode the next glyph in the string. Used for kerning.
|
|
||||||
* @param penPosition the position to Render the glyph
|
|
||||||
* @return The distance to advance the pen position after Rendering
|
|
||||||
*/
|
|
||||||
FTPoint Render( const unsigned int characterCode, const unsigned int nextCharacterCode, FTPoint penPosition);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries the Font for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err;}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The FTGL face
|
|
||||||
*/
|
|
||||||
FTFace* face;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Character Map object associated with the current face
|
|
||||||
*/
|
|
||||||
FTCharmap* charMap;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A structure to hold the glyphs
|
|
||||||
*/
|
|
||||||
GlyphVector glyphs;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTGlyphContainer__
|
|
||||||
97
extern/bFTGL/include/FTLibrary.h
vendored
97
extern/bFTGL/include/FTLibrary.h
vendored
@@ -1,97 +0,0 @@
|
|||||||
#ifndef __FTLibrary__
|
|
||||||
#define __FTLibrary__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
//#include FT_CACHE_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTLibrary class is the global accessor for the Freetype library.
|
|
||||||
*
|
|
||||||
* This class encapsulates the Freetype Library. This is a singleton class
|
|
||||||
* and ensures that only one FT_Library is in existence at any one time.
|
|
||||||
* All constructors are private therefore clients cannot create or
|
|
||||||
* instantiate this class themselves and must access it's methods via the
|
|
||||||
* static <code>FTLibrary::Instance()</code> function.
|
|
||||||
*
|
|
||||||
* Just because this class returns a valid <code>FTLibrary</code> object
|
|
||||||
* doesn't mean that the Freetype Library has been successfully initialised.
|
|
||||||
* Clients should check for errors. You can initialse the library AND check
|
|
||||||
* for errors using the following code...
|
|
||||||
* <code>err = FTLibrary::Instance().Error();</code>
|
|
||||||
*
|
|
||||||
* @see "Freetype 2 Documentation"
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTLibrary
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Global acces point to the single FTLibrary object.
|
|
||||||
*
|
|
||||||
* @return The global <code>FTLibrary</code> object.
|
|
||||||
*/
|
|
||||||
static FTLibrary& Instance();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets a pointer to the native Freetype library.
|
|
||||||
*
|
|
||||||
* @return A handle to a FreeType library instance.
|
|
||||||
*/
|
|
||||||
const FT_Library* const GetLibrary() const { return library;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries the library for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*
|
|
||||||
* Disposes of the Freetype library
|
|
||||||
*/
|
|
||||||
~FTLibrary();
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Default constructors.
|
|
||||||
*
|
|
||||||
* Made private to stop clients creating there own FTLibrary
|
|
||||||
* objects.
|
|
||||||
*/
|
|
||||||
FTLibrary();
|
|
||||||
FTLibrary( const FT_Library&){}
|
|
||||||
FTLibrary& operator=( const FT_Library&) { return *this; }
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Initialises the Freetype library
|
|
||||||
*
|
|
||||||
* Even though this function indicates success via the return value,
|
|
||||||
* clients can't see this so must check the error codes. This function
|
|
||||||
* is only ever called by the default c_stor
|
|
||||||
*
|
|
||||||
* @return <code>true</code> if the Freetype library was
|
|
||||||
* successfully initialised, <code>false</code>
|
|
||||||
* otherwise.
|
|
||||||
*/
|
|
||||||
bool Initialise();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Freetype library handle.
|
|
||||||
*/
|
|
||||||
FT_Library* library;
|
|
||||||
// FTC_Manager* manager;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __FTLibrary__
|
|
||||||
112
extern/bFTGL/include/FTList.h
vendored
112
extern/bFTGL/include/FTList.h
vendored
@@ -1,112 +0,0 @@
|
|||||||
#ifndef __FTList__
|
|
||||||
#define __FTList__
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides a non-STL alternative to the STL list
|
|
||||||
*/
|
|
||||||
template <typename FT_LIST_ITEM_TYPE>
|
|
||||||
class FTGL_EXPORT FTList
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef FT_LIST_ITEM_TYPE value_type;
|
|
||||||
typedef value_type& reference;
|
|
||||||
typedef const value_type& const_reference;
|
|
||||||
typedef size_t size_type;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*/
|
|
||||||
FTList()
|
|
||||||
: listSize(0),
|
|
||||||
tail(0)
|
|
||||||
{
|
|
||||||
tail = NULL;
|
|
||||||
head = new Node;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTList()
|
|
||||||
{
|
|
||||||
Node* next;
|
|
||||||
|
|
||||||
for( Node *walk = head; walk; walk = next)
|
|
||||||
{
|
|
||||||
next = walk->next;
|
|
||||||
delete walk;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the number of items in the list
|
|
||||||
*/
|
|
||||||
size_type size() const
|
|
||||||
{
|
|
||||||
return listSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add an item to the end of the list
|
|
||||||
*/
|
|
||||||
void push_back( const value_type& item)
|
|
||||||
{
|
|
||||||
Node* node = new Node( item);
|
|
||||||
|
|
||||||
if( head->next == NULL)
|
|
||||||
{
|
|
||||||
head->next = node;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( tail)
|
|
||||||
{
|
|
||||||
tail->next = node;
|
|
||||||
}
|
|
||||||
tail = node;
|
|
||||||
++listSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the item at the front of the list
|
|
||||||
*/
|
|
||||||
reference front() const
|
|
||||||
{
|
|
||||||
return head->next->payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the item at the end of the list
|
|
||||||
*/
|
|
||||||
reference back() const
|
|
||||||
{
|
|
||||||
return tail->payload;
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
struct Node
|
|
||||||
{
|
|
||||||
Node()
|
|
||||||
: next(NULL)
|
|
||||||
{}
|
|
||||||
|
|
||||||
Node( const value_type& item)
|
|
||||||
: next(NULL)
|
|
||||||
{
|
|
||||||
payload = item;
|
|
||||||
}
|
|
||||||
|
|
||||||
Node* next;
|
|
||||||
|
|
||||||
value_type payload;
|
|
||||||
};
|
|
||||||
|
|
||||||
size_type listSize;
|
|
||||||
|
|
||||||
Node* head;
|
|
||||||
Node* tail;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __FTList__
|
|
||||||
|
|
||||||
54
extern/bFTGL/include/FTOutlineGlyph.h
vendored
54
extern/bFTGL/include/FTOutlineGlyph.h
vendored
@@ -1,54 +0,0 @@
|
|||||||
#ifndef __FTOutlineGlyph__
|
|
||||||
#define __FTOutlineGlyph__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
class FTVectoriser;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTOutlineGlyph is a specialisation of FTGlyph for creating outlines.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
* @see FTVectoriser
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTOutlineGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor. Sets the Error to Invalid_Outline if the glyphs isn't an outline.
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
*/
|
|
||||||
FTOutlineGlyph( FT_GlyphSlot glyph);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTOutlineGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* OpenGL display list
|
|
||||||
*/
|
|
||||||
GLuint glList;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTOutlineGlyph__
|
|
||||||
|
|
||||||
68
extern/bFTGL/include/FTPixmapGlyph.h
vendored
68
extern/bFTGL/include/FTPixmapGlyph.h
vendored
@@ -1,68 +0,0 @@
|
|||||||
#ifndef __FTPixmapGlyph__
|
|
||||||
#define __FTPixmapGlyph__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTPixmapGlyph is a specialisation of FTGlyph for creating pixmaps.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTPixmapGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
*/
|
|
||||||
FTPixmapGlyph( FT_GlyphSlot glyph);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTPixmapGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
// attributes
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The width of the glyph 'image'
|
|
||||||
*/
|
|
||||||
int destWidth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The height of the glyph 'image'
|
|
||||||
*/
|
|
||||||
int destHeight;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vector from the pen position to the topleft corner of the pixmap
|
|
||||||
*/
|
|
||||||
FTPoint pos;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Pointer to the 'image' data
|
|
||||||
*/
|
|
||||||
unsigned char* data;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTPixmapGlyph__
|
|
||||||
85
extern/bFTGL/include/FTPoint.h
vendored
85
extern/bFTGL/include/FTPoint.h
vendored
@@ -1,85 +0,0 @@
|
|||||||
#ifndef __FTPoint__
|
|
||||||
#define __FTPoint__
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTPoint class is a basic 3 dimensional point or vector.
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTPoint
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Default constructor. Point is set to zero.
|
|
||||||
*/
|
|
||||||
FTPoint()
|
|
||||||
: x(0), y(0), z(0)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor.
|
|
||||||
*
|
|
||||||
* @param X
|
|
||||||
* @param Y
|
|
||||||
* @param Z
|
|
||||||
*/
|
|
||||||
FTPoint( const FTGL_DOUBLE X, const FTGL_DOUBLE Y, const FTGL_DOUBLE Z)
|
|
||||||
: x(X), y(Y), z(Z)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Constructor. This converts an FT_Vector to an FT_Point
|
|
||||||
*
|
|
||||||
* @param ft_vector A freetype vector
|
|
||||||
*/
|
|
||||||
FTPoint( const FT_Vector& ft_vector)
|
|
||||||
: x(ft_vector.x), y(ft_vector.y), z(0)
|
|
||||||
{}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Operator +=
|
|
||||||
*
|
|
||||||
* @param point
|
|
||||||
* @return this plus point.
|
|
||||||
*/
|
|
||||||
FTPoint& operator += ( const FTPoint& point)
|
|
||||||
{
|
|
||||||
x += point.x;
|
|
||||||
y += point.y;
|
|
||||||
z += point.z;
|
|
||||||
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Operator == Tests for eqaulity
|
|
||||||
*
|
|
||||||
* @param a
|
|
||||||
* @param b
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
friend bool operator == ( const FTPoint &a, const FTPoint &b);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Operator != Tests for non equality
|
|
||||||
*
|
|
||||||
* @param a
|
|
||||||
* @param b
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
friend bool operator != ( const FTPoint &a, const FTPoint &b);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The point data
|
|
||||||
*/
|
|
||||||
FTGL_DOUBLE x, y, z; // FIXME make private
|
|
||||||
|
|
||||||
private:
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __FTPoint__
|
|
||||||
|
|
||||||
55
extern/bFTGL/include/FTPolyGlyph.h
vendored
55
extern/bFTGL/include/FTPolyGlyph.h
vendored
@@ -1,55 +0,0 @@
|
|||||||
#ifndef __FTPolyGlyph__
|
|
||||||
#define __FTPolyGlyph__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
class FTVectoriser;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTPolyGlyph is a specialisation of FTGlyph for creating tessellated
|
|
||||||
* polygon glyphs.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
* @see FTVectoriser
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTPolyGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor. Sets the Error to Invalid_Outline if the glyphs isn't an outline.
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
*/
|
|
||||||
FTPolyGlyph( FT_GlyphSlot glyph);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTPolyGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* OpenGL display list
|
|
||||||
*/
|
|
||||||
GLuint glList;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTPolyGlyph__
|
|
||||||
|
|
||||||
132
extern/bFTGL/include/FTSize.h
vendored
132
extern/bFTGL/include/FTSize.h
vendored
@@ -1,132 +0,0 @@
|
|||||||
#ifndef __FTSize__
|
|
||||||
#define __FTSize__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTSize class provides an abstraction layer for the Freetype Size.
|
|
||||||
*
|
|
||||||
* @see "Freetype 2 Documentation"
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTSize
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Default Constructor
|
|
||||||
*/
|
|
||||||
FTSize();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTSize();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sets the char size for the current face.
|
|
||||||
*
|
|
||||||
* This doesn't guarantee that the size was set correctly. Clients
|
|
||||||
* should check errors.
|
|
||||||
*
|
|
||||||
* @param face Parent face for this size object
|
|
||||||
* @param point_size the face size in points (1/72 inch)
|
|
||||||
* @param x_resolution the horizontal resolution of the target device.
|
|
||||||
* @param y_resolution the vertical resolution of the target device.
|
|
||||||
* @return <code>true</code> if the size has been set. Clients should check Error() for more information if this function returns false()
|
|
||||||
*/
|
|
||||||
bool CharSize( FT_Face* face, unsigned int point_size, unsigned int x_resolution, unsigned int y_resolution);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* get the char size for the current face.
|
|
||||||
*
|
|
||||||
* @return The char size in points
|
|
||||||
*/
|
|
||||||
unsigned int CharSize() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the global ascender height for the face in pixels.
|
|
||||||
*
|
|
||||||
* @return Ascender height
|
|
||||||
*/
|
|
||||||
float Ascender() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the global descender height for the face in pixels.
|
|
||||||
*
|
|
||||||
* @return Ascender height
|
|
||||||
*/
|
|
||||||
float Descender() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the global face height for the face.
|
|
||||||
*
|
|
||||||
* If the face is scalable this returns the height of the global
|
|
||||||
* bounding box which ensures that any glyph will be less than or
|
|
||||||
* equal to this height. If the font isn't scalable there is no
|
|
||||||
* guarantee that glyphs will not be taller than this value.
|
|
||||||
*
|
|
||||||
* @return height in pixels.
|
|
||||||
*/
|
|
||||||
float Height() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the global face width for the face.
|
|
||||||
*
|
|
||||||
* If the face is scalable this returns the width of the global
|
|
||||||
* bounding box which ensures that any glyph will be less than or
|
|
||||||
* equal to this width. If the font isn't scalable this value is
|
|
||||||
* the max_advance for the face.
|
|
||||||
*
|
|
||||||
* @return width in pixels.
|
|
||||||
*/
|
|
||||||
float Width() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets the underline position for the face.
|
|
||||||
*
|
|
||||||
* @return underline position in pixels
|
|
||||||
*/
|
|
||||||
float Underline() const;
|
|
||||||
|
|
||||||
unsigned int XPixelsPerEm() const;
|
|
||||||
|
|
||||||
unsigned int YPixelsPerEm() const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Queries for errors.
|
|
||||||
*
|
|
||||||
* @return The current error code.
|
|
||||||
*/
|
|
||||||
FT_Error Error() const { return err; }
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The current Freetype face that this FTSize object relates to.
|
|
||||||
*/
|
|
||||||
FT_Face* ftFace;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The Freetype size.
|
|
||||||
*/
|
|
||||||
FT_Size ftSize;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The size in points.
|
|
||||||
*/
|
|
||||||
unsigned int size;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Current error code. Zero means no error.
|
|
||||||
*/
|
|
||||||
FT_Error err;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __FTSize__
|
|
||||||
|
|
||||||
89
extern/bFTGL/include/FTTextureGlyph.h
vendored
89
extern/bFTGL/include/FTTextureGlyph.h
vendored
@@ -1,89 +0,0 @@
|
|||||||
#ifndef __FTTextureGlyph__
|
|
||||||
#define __FTTextureGlyph__
|
|
||||||
|
|
||||||
|
|
||||||
#include <ft2build.h>
|
|
||||||
#include FT_FREETYPE_H
|
|
||||||
#include FT_GLYPH_H
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTTextureGlyph is a specialisation of FTGlyph for creating texture
|
|
||||||
* glyphs.
|
|
||||||
*
|
|
||||||
* @see FTGlyphContainer
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTTextureGlyph : public FTGlyph
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param glyph The Freetype glyph to be processed
|
|
||||||
* @param id The id of the texture that this glyph will be
|
|
||||||
* drawn in
|
|
||||||
* @param xOffset The x offset into the parent texture to draw
|
|
||||||
* this glyph
|
|
||||||
* @param yOffset The y offset into the parent texture to draw
|
|
||||||
* this glyph
|
|
||||||
* @param width The width of the parent texture
|
|
||||||
* @param height The height (number of rows) of the parent texture
|
|
||||||
*/
|
|
||||||
FTTextureGlyph( FT_GlyphSlot glyph, int id, int xOffset, int yOffset, GLsizei width, GLsizei height);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTTextureGlyph();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Renders this glyph at the current pen position.
|
|
||||||
*
|
|
||||||
* @param pen The current pen position.
|
|
||||||
* @return The advance distance for this glyph.
|
|
||||||
*/
|
|
||||||
virtual float Render( const FTPoint& pen);
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The width of the glyph 'image'
|
|
||||||
*/
|
|
||||||
int destWidth;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The height of the glyph 'image'
|
|
||||||
*/
|
|
||||||
int destHeight;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Vector from the pen position to the topleft corner of the pixmap
|
|
||||||
*/
|
|
||||||
FTPoint pos;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The texture co-ords of this glyph within the texture.
|
|
||||||
*/
|
|
||||||
FTPoint uv[2];
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The texture index that this glyph is contained in.
|
|
||||||
*/
|
|
||||||
int glTextureID;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The texture index of the currently active texture
|
|
||||||
*
|
|
||||||
* We call glGetIntegerv( GL_TEXTURE_2D_BINDING, activeTextureID);
|
|
||||||
* to get the currently active texture to try to reduce the number
|
|
||||||
* of texture bind operations
|
|
||||||
*/
|
|
||||||
GLint activeTextureID;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTTextureGlyph__
|
|
||||||
190
extern/bFTGL/include/FTVector.h
vendored
190
extern/bFTGL/include/FTVector.h
vendored
@@ -1,190 +0,0 @@
|
|||||||
#ifndef __FTVector__
|
|
||||||
#define __FTVector__
|
|
||||||
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Provides a non-STL alternative to the STL vector
|
|
||||||
*/
|
|
||||||
template <typename FT_VECTOR_ITEM_TYPE>
|
|
||||||
class FTGL_EXPORT FTVector
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
typedef FT_VECTOR_ITEM_TYPE value_type;
|
|
||||||
typedef value_type& reference;
|
|
||||||
typedef const value_type& const_reference;
|
|
||||||
typedef value_type* iterator;
|
|
||||||
typedef const value_type* const_iterator;
|
|
||||||
typedef size_t size_type;
|
|
||||||
|
|
||||||
FTVector()
|
|
||||||
{
|
|
||||||
Capacity = Size = 0;
|
|
||||||
Items = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
virtual ~FTVector()
|
|
||||||
{
|
|
||||||
clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
FTVector& operator =(const FTVector& v)
|
|
||||||
{
|
|
||||||
reserve(v.capacity());
|
|
||||||
|
|
||||||
iterator ptr = begin();
|
|
||||||
const_iterator vbegin = v.begin();
|
|
||||||
const_iterator vend = v.end();
|
|
||||||
|
|
||||||
while( vbegin != vend)
|
|
||||||
{
|
|
||||||
*ptr++ = *vbegin++;
|
|
||||||
}
|
|
||||||
|
|
||||||
Size = v.size();
|
|
||||||
return *this;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_type size() const
|
|
||||||
{
|
|
||||||
return Size;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_type capacity() const
|
|
||||||
{
|
|
||||||
return Capacity;
|
|
||||||
}
|
|
||||||
|
|
||||||
iterator begin()
|
|
||||||
{
|
|
||||||
return Items;
|
|
||||||
}
|
|
||||||
|
|
||||||
const_iterator begin() const
|
|
||||||
{
|
|
||||||
return Items;
|
|
||||||
}
|
|
||||||
|
|
||||||
iterator end()
|
|
||||||
{
|
|
||||||
return begin() + size();
|
|
||||||
}
|
|
||||||
|
|
||||||
const_iterator end() const
|
|
||||||
{
|
|
||||||
return begin() + size();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool empty() const
|
|
||||||
{
|
|
||||||
return size() == 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
reference operator [](size_type pos)
|
|
||||||
{
|
|
||||||
return( *(begin() + pos));
|
|
||||||
}
|
|
||||||
|
|
||||||
const_reference operator []( size_type pos) const
|
|
||||||
{
|
|
||||||
return( *(begin() + pos));
|
|
||||||
}
|
|
||||||
|
|
||||||
void clear()
|
|
||||||
{
|
|
||||||
if( Capacity)
|
|
||||||
{
|
|
||||||
delete [] Items;
|
|
||||||
Capacity = Size = 0;
|
|
||||||
Items = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void reserve( size_type n)
|
|
||||||
{
|
|
||||||
if( capacity() < n)
|
|
||||||
{
|
|
||||||
expand(n);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void push_back(const value_type& x)
|
|
||||||
{
|
|
||||||
if( size() == capacity())
|
|
||||||
{
|
|
||||||
expand();
|
|
||||||
}
|
|
||||||
|
|
||||||
( *this)[size()] = x;
|
|
||||||
++Size;
|
|
||||||
}
|
|
||||||
|
|
||||||
void resize(size_type n, value_type x)
|
|
||||||
{
|
|
||||||
if( n == size())
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
reserve(n);
|
|
||||||
iterator begin, end;
|
|
||||||
|
|
||||||
if( n >= Size)
|
|
||||||
{
|
|
||||||
begin = this->end();
|
|
||||||
end = this->begin() + n;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
begin = this->begin() + n;
|
|
||||||
end = this->end();
|
|
||||||
}
|
|
||||||
|
|
||||||
while( begin != end)
|
|
||||||
{
|
|
||||||
*begin++ = x;
|
|
||||||
}
|
|
||||||
|
|
||||||
Size = n;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private:
|
|
||||||
void expand(size_type capacity_hint = 0)
|
|
||||||
{
|
|
||||||
size_type new_capacity =( capacity() == 0) ? 256 : capacity()* 2;
|
|
||||||
if( capacity_hint)
|
|
||||||
{
|
|
||||||
while( new_capacity < capacity_hint)
|
|
||||||
{
|
|
||||||
new_capacity *= 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
value_type *new_items = new value_type[new_capacity];
|
|
||||||
|
|
||||||
iterator begin = this->begin();
|
|
||||||
iterator end = this->end();
|
|
||||||
value_type *ptr = new_items;
|
|
||||||
|
|
||||||
while( begin != end)
|
|
||||||
{
|
|
||||||
*ptr++ = *begin++;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( Capacity)
|
|
||||||
{
|
|
||||||
delete [] Items;
|
|
||||||
}
|
|
||||||
|
|
||||||
Items = new_items;
|
|
||||||
Capacity = new_capacity;
|
|
||||||
}
|
|
||||||
|
|
||||||
size_type Capacity;
|
|
||||||
size_type Size;
|
|
||||||
value_type* Items;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __FTVector__
|
|
||||||
275
extern/bFTGL/include/FTVectoriser.h
vendored
275
extern/bFTGL/include/FTVectoriser.h
vendored
@@ -1,275 +0,0 @@
|
|||||||
#ifndef __FTVectoriser__
|
|
||||||
#define __FTVectoriser__
|
|
||||||
|
|
||||||
|
|
||||||
#include "FTContour.h"
|
|
||||||
#include "FTList.h"
|
|
||||||
#include "FTPoint.h"
|
|
||||||
#include "FTVector.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef CALLBACK
|
|
||||||
#define CALLBACK
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTTesselation captures points that are output by OpenGL's gluTesselator.
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTTesselation
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Default constructor
|
|
||||||
*/
|
|
||||||
FTTesselation( GLenum m)
|
|
||||||
: meshType(m)
|
|
||||||
{
|
|
||||||
pointList.reserve( 128);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTTesselation()
|
|
||||||
{
|
|
||||||
pointList.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Add a point to the mesh.
|
|
||||||
*/
|
|
||||||
void AddPoint( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z)
|
|
||||||
{
|
|
||||||
pointList.push_back( FTPoint( x, y, z));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The number of points in this mesh
|
|
||||||
*/
|
|
||||||
size_t PointCount() const { return pointList.size();}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const FTPoint& Point( unsigned int index) const { return pointList[index];}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the OpenGL polygon type.
|
|
||||||
*/
|
|
||||||
GLenum PolygonType() const { return meshType;}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Points generated by gluTesselator.
|
|
||||||
*/
|
|
||||||
typedef FTVector<FTPoint> PointVector;
|
|
||||||
PointVector pointList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* OpenGL primitive type from gluTesselator.
|
|
||||||
*/
|
|
||||||
GLenum meshType;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTMesh is a container of FTTesselation's that make up a polygon glyph
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTMesh
|
|
||||||
{
|
|
||||||
typedef FTVector<FTTesselation*> TesselationVector;
|
|
||||||
typedef FTList<FTPoint> PointList;
|
|
||||||
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Default constructor
|
|
||||||
*/
|
|
||||||
FTMesh();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
~FTMesh();
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void AddPoint( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z);
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
FTGL_DOUBLE* Combine( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z);
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void Begin( GLenum meshType);
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void End();
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void Error( GLenum e) { err = e;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
unsigned int TesselationCount() const { return tesselationList.size();}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const FTTesselation* const Tesselation( unsigned int index) const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
const PointList& TempPointList() const { return tempPointList;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the GL ERROR returned by the glu tesselator
|
|
||||||
*/
|
|
||||||
GLenum Error() const { return err;}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* The current sub mesh that we are constructing.
|
|
||||||
*/
|
|
||||||
FTTesselation* currentTesselation;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Holds each sub mesh that comprises this glyph.
|
|
||||||
*/
|
|
||||||
TesselationVector tesselationList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Holds extra points created by gluTesselator. See ftglCombine.
|
|
||||||
*/
|
|
||||||
PointList tempPointList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* GL ERROR returned by the glu tesselator
|
|
||||||
*/
|
|
||||||
GLenum err;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
const FTGL_DOUBLE FTGL_FRONT_FACING = 1.0;
|
|
||||||
const FTGL_DOUBLE FTGL_BACK_FACING = -1.0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* FTVectoriser class is a helper class that converts font outlines into
|
|
||||||
* point data.
|
|
||||||
*
|
|
||||||
* @see FTExtrdGlyph
|
|
||||||
* @see FTOutlineGlyph
|
|
||||||
* @see FTPolyGlyph
|
|
||||||
* @see FTContour
|
|
||||||
* @see FTPoint
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
class FTGL_EXPORT FTVectoriser
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Constructor
|
|
||||||
*
|
|
||||||
* @param glyph The freetype glyph to be processed
|
|
||||||
*/
|
|
||||||
FTVectoriser( const FT_GlyphSlot glyph);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor
|
|
||||||
*/
|
|
||||||
virtual ~FTVectoriser();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Build an FTMesh from the vector outline data.
|
|
||||||
*
|
|
||||||
* @param zNormal The direction of the z axis of the normal
|
|
||||||
* for this mesh
|
|
||||||
*/
|
|
||||||
void MakeMesh( FTGL_DOUBLE zNormal = FTGL_FRONT_FACING);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the current mesh.
|
|
||||||
*/
|
|
||||||
const FTMesh* const GetMesh() const { return mesh;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the total count of points in this outline
|
|
||||||
*
|
|
||||||
* @return the number of points
|
|
||||||
*/
|
|
||||||
size_t PointCount();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the count of contours in this outline
|
|
||||||
*
|
|
||||||
* @return the number of contours
|
|
||||||
*/
|
|
||||||
size_t ContourCount() const { return ftContourCount;}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return a contour at index
|
|
||||||
*
|
|
||||||
* @return the number of contours
|
|
||||||
*/
|
|
||||||
const FTContour* const Contour( unsigned int index) const;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the number of points in a specific contour in this outline
|
|
||||||
*
|
|
||||||
* @param c The contour index
|
|
||||||
* @return the number of points in contour[c]
|
|
||||||
*/
|
|
||||||
size_t ContourSize( int c) const { return contourList[c]->PointCount();}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the flag for the tesselation rule for this outline
|
|
||||||
*
|
|
||||||
* @return The contour flag
|
|
||||||
*/
|
|
||||||
int ContourFlag() const { return contourFlag;}
|
|
||||||
|
|
||||||
private:
|
|
||||||
/**
|
|
||||||
* Process the freetype outline data into contours of points
|
|
||||||
*/
|
|
||||||
void ProcessContours();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The list of contours in the glyph
|
|
||||||
*/
|
|
||||||
FTContour** contourList;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A Mesh for tesselations
|
|
||||||
*/
|
|
||||||
FTMesh* mesh;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The number of contours reported by Freetype
|
|
||||||
*/
|
|
||||||
short ftContourCount;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A flag indicating the tesselation rule for the glyph
|
|
||||||
*/
|
|
||||||
int contourFlag;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A Freetype outline
|
|
||||||
*/
|
|
||||||
FT_Outline outline;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif // __FTVectoriser__
|
|
||||||
27
extern/bFTGL/license.txt
vendored
27
extern/bFTGL/license.txt
vendored
@@ -1,27 +0,0 @@
|
|||||||
FTGL
|
|
||||||
|
|
||||||
Herewith is a license. I've also chucked in a gnu (see COPYING.txt) license
|
|
||||||
for those that are that way inclined. Basically I want you to use this
|
|
||||||
software and if you think this license is preventing you from doing so
|
|
||||||
let me know.
|
|
||||||
|
|
||||||
Copyright (C) 2001-3 Henry Maddocks
|
|
||||||
|
|
||||||
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 THE AUTHORS OR COPYRIGHT HOLDERS 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.
|
|
||||||
406
extern/bFTGL/make/msvc_7_0/ftgl_static_lib.vcproj
vendored
406
extern/bFTGL/make/msvc_7_0/ftgl_static_lib.vcproj
vendored
@@ -1,406 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="7.10"
|
|
||||||
Name="ftgl_static_lib"
|
|
||||||
ProjectGUID="{F9850C15-FF0A-429E-9D47-89FB433C9BD8}"
|
|
||||||
SccProjectName=""
|
|
||||||
SccLocalPath="">
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"/>
|
|
||||||
</Platforms>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Blender Debug|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl\debug"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl\debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\ftgl\debug\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\ftgl\debug\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_7\extern\ftgl\debug\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\ftgl\debug\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\debug\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="TRUE"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library (debug target) to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
|
|
||||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
ECHO Done
|
|
||||||
"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Blender Release|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl"
|
|
||||||
ConfigurationType="4"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
StringPooling="TRUE"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\ftgl\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\ftgl\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_7\extern\ftgl\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\ftgl\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="TRUE"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
|
|
||||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
ECHO Done
|
|
||||||
"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="3D Plugin Release|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll"
|
|
||||||
ConfigurationType="4"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
StringPooling="TRUE"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="TRUE"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\mtdll\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="TRUE"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
|
|
||||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
ECHO Done
|
|
||||||
"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="3D Plugin Debug|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\debug"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="FALSE"
|
|
||||||
CharacterSet="2">
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="2"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\debug\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\debug\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\debug\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_7\extern\ftgl\mtdll\debug\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="TRUE"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_7\libs\extern\mtdll\debug\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="TRUE"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library (debug target) to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
|
|
||||||
IF NOT EXIST ..\..\..\..\..\build\msvc_7\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_7\extern\ftgl\include
|
|
||||||
ECHO Done
|
|
||||||
"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedWrapperGeneratorTool"/>
|
|
||||||
<Tool
|
|
||||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat">
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTBitmapGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTCharmap.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTContour.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTExtrdGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTFace.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLBitmapFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLExtrdFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLOutlineFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLPixmapFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLPolygonFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLTextureFont.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGlyphContainer.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTLibrary.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTOutlineGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTPixmapGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTPoint.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTPolyGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTSize.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTTextureGlyph.cpp">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTVectoriser.cpp">
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl">
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTBBox.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTBitmapGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTCharmap.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTCharToGlyphIndexMap.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTContour.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTExtrdGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTFace.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGL.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLBitmapFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLExtrdFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLOutlineFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLPixmapFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLPolygonFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLTextureFont.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGlyphContainer.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTLibrary.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTList.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTOutlineGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTPixmapGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTPoint.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTPolyGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTSize.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTTextureGlyph.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTVector.h">
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTVectoriser.h">
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
537
extern/bFTGL/make/msvc_9_0/ftgl_static_lib.vcproj
vendored
537
extern/bFTGL/make/msvc_9_0/ftgl_static_lib.vcproj
vendored
@@ -1,537 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="9,00"
|
|
||||||
Name="EXT_ftgl_static_lib"
|
|
||||||
ProjectGUID="{F9850C15-FF0A-429E-9D47-89FB433C9BD8}"
|
|
||||||
RootNamespace="ftgl_static_lib"
|
|
||||||
TargetFrameworkVersion="131072"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Blender Debug|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\debug"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\debug\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\debug\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library (debug target) to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="Blender Release|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
CompileAs="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="3D Plugin Release|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="NDEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="2"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
CompileAs="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
<Configuration
|
|
||||||
Name="3D Plugin Debug|Win32"
|
|
||||||
OutputDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug"
|
|
||||||
IntermediateDirectory="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug"
|
|
||||||
ConfigurationType="4"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\..\include;..\..\..\..\..\lib\windows\freetype\include"
|
|
||||||
PreprocessorDefinitions="_DEBUG;WIN32;_LIB;FTGL_LIBRARY_STATIC"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="3"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
PrecompiledHeaderFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\ftgl_static_lib.pch"
|
|
||||||
AssemblerListingLocation="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\"
|
|
||||||
ObjectFile="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\"
|
|
||||||
ProgramDataBaseFileName="..\..\..\..\..\build\msvc_9\extern\ftgl\mtdll\debug\"
|
|
||||||
WarningLevel="2"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
CompileAs="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLibrarianTool"
|
|
||||||
OutputFile="..\..\..\..\..\build\msvc_9\libs\extern\mtdll\debug\ftgl_static.lib"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCALinkTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXDCMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCBscMakeTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCFxCopTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPostBuildEventTool"
|
|
||||||
Description="Copying FTGL files library (debug target) to lib tree."
|
|
||||||
CommandLine="ECHO Copying header files
IF NOT EXIST ..\..\..\..\..\build\msvc_9\extern\ftgl\include\ MKDIR ..\..\..\..\..\build\msvc_9\extern\ftgl\include
XCOPY /Y ..\..\include\*.h ..\..\..\..\..\build\msvc_9\extern\ftgl\include
ECHO Done
"
|
|
||||||
/>
|
|
||||||
</Configuration>
|
|
||||||
</Configurations>
|
|
||||||
<References>
|
|
||||||
</References>
|
|
||||||
<Files>
|
|
||||||
<Filter
|
|
||||||
Name="Source Files"
|
|
||||||
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTBitmapGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTCharmap.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTContour.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTExtrdGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTFace.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLBitmapFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLExtrdFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLOutlineFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLPixmapFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLPolygonFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGLTextureFont.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTGlyphContainer.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTLibrary.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTOutlineGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTPixmapGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTPoint.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTPolyGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTSize.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTTextureGlyph.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\src\FTVectoriser.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTBBox.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTBitmapGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTCharmap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTCharToGlyphIndexMap.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTContour.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTExtrdGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTFace.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGL.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLBitmapFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLExtrdFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLOutlineFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLPixmapFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLPolygonFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGLTextureFont.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTGlyphContainer.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTLibrary.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTList.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTOutlineGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTPixmapGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTPoint.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTPolyGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTSize.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTTextureGlyph.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTVector.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath="..\..\include\FTVectoriser.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
||||||
66
extern/bFTGL/src/FTBitmapGlyph.cpp
vendored
66
extern/bFTGL/src/FTBitmapGlyph.cpp
vendored
@@ -1,66 +0,0 @@
|
|||||||
#include <string>
|
|
||||||
|
|
||||||
#include "FTBitmapGlyph.h"
|
|
||||||
|
|
||||||
FTBitmapGlyph::FTBitmapGlyph( FT_GlyphSlot glyph)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
destWidth(0),
|
|
||||||
destHeight(0),
|
|
||||||
data(0)
|
|
||||||
{
|
|
||||||
err = FT_Render_Glyph( glyph, FT_RENDER_MODE_MONO);
|
|
||||||
if( err || ft_glyph_format_bitmap != glyph->format)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FT_Bitmap bitmap = glyph->bitmap;
|
|
||||||
|
|
||||||
unsigned int srcWidth = bitmap.width;
|
|
||||||
unsigned int srcHeight = bitmap.rows;
|
|
||||||
unsigned int srcPitch = bitmap.pitch;
|
|
||||||
|
|
||||||
destWidth = srcWidth;
|
|
||||||
destHeight = srcHeight;
|
|
||||||
destPitch = srcPitch;
|
|
||||||
|
|
||||||
if( destWidth && destHeight)
|
|
||||||
{
|
|
||||||
data = new unsigned char[destPitch * destHeight];
|
|
||||||
unsigned char* dest = data + (( destHeight - 1) * destPitch);
|
|
||||||
|
|
||||||
unsigned char* src = bitmap.buffer;
|
|
||||||
|
|
||||||
for( unsigned int y = 0; y < srcHeight; ++y)
|
|
||||||
{
|
|
||||||
memcpy( dest, src, srcPitch);
|
|
||||||
dest -= destPitch;
|
|
||||||
src += srcPitch;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pos.x = glyph->bitmap_left;
|
|
||||||
pos.y = static_cast<int>(srcHeight) - glyph->bitmap_top;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTBitmapGlyph::~FTBitmapGlyph()
|
|
||||||
{
|
|
||||||
delete [] data;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTBitmapGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
if( data)
|
|
||||||
{
|
|
||||||
glBitmap( 0, 0, 0.0, 0.0, pen.x + pos.x, pen.y - pos.y, (const GLubyte*)0 );
|
|
||||||
|
|
||||||
glPixelStorei( GL_UNPACK_ROW_LENGTH, destPitch * 8);
|
|
||||||
glBitmap( destWidth, destHeight, 0.0f, 0.0, 0.0, 0.0, (const GLubyte*)data);
|
|
||||||
|
|
||||||
glBitmap( 0, 0, 0.0, 0.0, -pen.x - pos.x, -pen.y + pos.y, (const GLubyte*)0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
59
extern/bFTGL/src/FTBufferGlyph.cpp
vendored
59
extern/bFTGL/src/FTBufferGlyph.cpp
vendored
@@ -1,59 +0,0 @@
|
|||||||
#include "FTBufferGlyph.h"
|
|
||||||
|
|
||||||
FTBufferGlyph::FTBufferGlyph( FT_GlyphSlot glyph, unsigned char* b)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
destWidth(0),
|
|
||||||
destHeight(0),
|
|
||||||
data(0),
|
|
||||||
buffer(b)
|
|
||||||
{
|
|
||||||
err = FT_Render_Glyph( glyph, FT_RENDER_MODE_NORMAL);
|
|
||||||
if( err || ft_glyph_format_bitmap != glyph->format)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FT_Bitmap bitmap = glyph->bitmap;
|
|
||||||
|
|
||||||
unsigned int srcWidth = bitmap.width;
|
|
||||||
unsigned int srcHeight = bitmap.rows;
|
|
||||||
unsigned int srcPitch = bitmap.pitch;
|
|
||||||
|
|
||||||
destWidth = srcWidth;
|
|
||||||
destHeight = srcHeight;
|
|
||||||
destPitch = srcPitch;
|
|
||||||
|
|
||||||
if( destWidth && destHeight)
|
|
||||||
{
|
|
||||||
data = new unsigned char[destPitch * destHeight];
|
|
||||||
unsigned char* dest = data + (( destHeight - 1) * destPitch);
|
|
||||||
|
|
||||||
unsigned char* src = bitmap.buffer;
|
|
||||||
|
|
||||||
for( unsigned int y = 0; y < srcHeight; ++y)
|
|
||||||
{
|
|
||||||
memcpy( dest, src, srcPitch);
|
|
||||||
dest -= destPitch;
|
|
||||||
src += srcPitch;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
pos.x = glyph->bitmap_left;
|
|
||||||
pos.y = srcHeight - glyph->bitmap_top;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTBufferGlyph::~FTBufferGlyph()
|
|
||||||
{
|
|
||||||
delete [] data;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTBufferGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
if( data && buffer)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
62
extern/bFTGL/src/FTCharmap.cpp
vendored
62
extern/bFTGL/src/FTCharmap.cpp
vendored
@@ -1,62 +0,0 @@
|
|||||||
#include "FTFace.h"
|
|
||||||
#include "FTCharmap.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTCharmap::FTCharmap( FTFace* face)
|
|
||||||
: ftFace( *(face->Face())),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
if( !ftFace->charmap)
|
|
||||||
{
|
|
||||||
err = FT_Set_Charmap( ftFace, ftFace->charmaps[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
ftEncoding = ftFace->charmap->encoding;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTCharmap::~FTCharmap()
|
|
||||||
{
|
|
||||||
charMap.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTCharmap::CharMap( FT_Encoding encoding)
|
|
||||||
{
|
|
||||||
if( ftEncoding == encoding)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = FT_Select_Charmap( ftFace, encoding );
|
|
||||||
|
|
||||||
if( !err)
|
|
||||||
{
|
|
||||||
ftEncoding = encoding;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ftEncoding = ft_encoding_none;
|
|
||||||
}
|
|
||||||
|
|
||||||
charMap.clear();
|
|
||||||
return !err;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTCharmap::GlyphListIndex( const unsigned int characterCode )
|
|
||||||
{
|
|
||||||
return charMap.find( characterCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTCharmap::FontIndex( const unsigned int characterCode )
|
|
||||||
{
|
|
||||||
return FT_Get_Char_Index( ftFace, characterCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTCharmap::InsertIndex( const unsigned int characterCode, const unsigned int containerIndex)
|
|
||||||
{
|
|
||||||
charMap.insert( characterCode, containerIndex);
|
|
||||||
}
|
|
||||||
149
extern/bFTGL/src/FTContour.cpp
vendored
149
extern/bFTGL/src/FTContour.cpp
vendored
@@ -1,149 +0,0 @@
|
|||||||
#include "FTContour.h"
|
|
||||||
|
|
||||||
static const float BEZIER_STEP_SIZE = 0.2f;
|
|
||||||
|
|
||||||
|
|
||||||
void FTContour::AddPoint( FTPoint point)
|
|
||||||
{
|
|
||||||
if( pointList.empty() || point != pointList[pointList.size() - 1])
|
|
||||||
{
|
|
||||||
pointList.push_back( point);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTContour::AddPoint( float x, float y)
|
|
||||||
{
|
|
||||||
AddPoint( FTPoint( x, y, 0.0f));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTContour::evaluateQuadraticCurve()
|
|
||||||
{
|
|
||||||
for( unsigned int i = 0; i <= ( 1.0f / BEZIER_STEP_SIZE); i++)
|
|
||||||
{
|
|
||||||
float bezierValues[2][2];
|
|
||||||
|
|
||||||
float t = static_cast<float>(i) * BEZIER_STEP_SIZE;
|
|
||||||
|
|
||||||
bezierValues[0][0] = (1.0f - t) * controlPoints[0][0] + t * controlPoints[1][0];
|
|
||||||
bezierValues[0][1] = (1.0f - t) * controlPoints[0][1] + t * controlPoints[1][1];
|
|
||||||
|
|
||||||
bezierValues[1][0] = (1.0f - t) * controlPoints[1][0] + t * controlPoints[2][0];
|
|
||||||
bezierValues[1][1] = (1.0f - t) * controlPoints[1][1] + t * controlPoints[2][1];
|
|
||||||
|
|
||||||
bezierValues[0][0] = (1.0f - t) * bezierValues[0][0] + t * bezierValues[1][0];
|
|
||||||
bezierValues[0][1] = (1.0f - t) * bezierValues[0][1] + t * bezierValues[1][1];
|
|
||||||
|
|
||||||
AddPoint( bezierValues[0][0], bezierValues[0][1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void FTContour::evaluateCubicCurve()
|
|
||||||
{
|
|
||||||
for( unsigned int i = 0; i <= ( 1.0f / BEZIER_STEP_SIZE); i++)
|
|
||||||
{
|
|
||||||
float bezierValues[3][2];
|
|
||||||
|
|
||||||
float t = static_cast<float>(i) * BEZIER_STEP_SIZE;
|
|
||||||
|
|
||||||
bezierValues[0][0] = (1.0f - t) * controlPoints[0][0] + t * controlPoints[1][0];
|
|
||||||
bezierValues[0][1] = (1.0f - t) * controlPoints[0][1] + t * controlPoints[1][1];
|
|
||||||
|
|
||||||
bezierValues[1][0] = (1.0f - t) * controlPoints[1][0] + t * controlPoints[2][0];
|
|
||||||
bezierValues[1][1] = (1.0f - t) * controlPoints[1][1] + t * controlPoints[2][1];
|
|
||||||
|
|
||||||
bezierValues[2][0] = (1.0f - t) * controlPoints[2][0] + t * controlPoints[3][0];
|
|
||||||
bezierValues[2][1] = (1.0f - t) * controlPoints[2][1] + t * controlPoints[3][1];
|
|
||||||
|
|
||||||
bezierValues[0][0] = (1.0f - t) * bezierValues[0][0] + t * bezierValues[1][0];
|
|
||||||
bezierValues[0][1] = (1.0f - t) * bezierValues[0][1] + t * bezierValues[1][1];
|
|
||||||
|
|
||||||
bezierValues[1][0] = (1.0f - t) * bezierValues[1][0] + t * bezierValues[2][0];
|
|
||||||
bezierValues[1][1] = (1.0f - t) * bezierValues[1][1] + t * bezierValues[2][1];
|
|
||||||
|
|
||||||
bezierValues[0][0] = (1.0f - t) * bezierValues[0][0] + t * bezierValues[1][0];
|
|
||||||
bezierValues[0][1] = (1.0f - t) * bezierValues[0][1] + t * bezierValues[1][1];
|
|
||||||
|
|
||||||
AddPoint( bezierValues[0][0], bezierValues[0][1]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTContour::FTContour( FT_Vector* contour, char* pointTags, unsigned int numberOfPoints)
|
|
||||||
{
|
|
||||||
for( unsigned int pointIndex = 0; pointIndex < numberOfPoints; ++ pointIndex)
|
|
||||||
{
|
|
||||||
char pointTag = pointTags[pointIndex];
|
|
||||||
|
|
||||||
if( pointTag == FT_Curve_Tag_On || numberOfPoints < 2)
|
|
||||||
{
|
|
||||||
AddPoint( contour[pointIndex].x, contour[pointIndex].y);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
FTPoint controlPoint( contour[pointIndex]);
|
|
||||||
FTPoint previousPoint = ( 0 == pointIndex)
|
|
||||||
? FTPoint( contour[numberOfPoints - 1])
|
|
||||||
: pointList[pointList.size() - 1];
|
|
||||||
|
|
||||||
FTPoint nextPoint = ( pointIndex == numberOfPoints - 1)
|
|
||||||
? pointList[0]
|
|
||||||
: FTPoint( contour[pointIndex + 1]);
|
|
||||||
|
|
||||||
if( pointTag == FT_Curve_Tag_Conic)
|
|
||||||
{
|
|
||||||
char nextPointTag = ( pointIndex == numberOfPoints - 1)
|
|
||||||
? pointTags[0]
|
|
||||||
: pointTags[pointIndex + 1];
|
|
||||||
|
|
||||||
while( nextPointTag == FT_Curve_Tag_Conic)
|
|
||||||
{
|
|
||||||
nextPoint = FTPoint( static_cast<float>( controlPoint.x + nextPoint.x) * 0.5f,
|
|
||||||
static_cast<float>( controlPoint.y + nextPoint.y) * 0.5f,
|
|
||||||
0);
|
|
||||||
|
|
||||||
controlPoints[0][0] = previousPoint.x; controlPoints[0][1] = previousPoint.y;
|
|
||||||
controlPoints[1][0] = controlPoint.x; controlPoints[1][1] = controlPoint.y;
|
|
||||||
controlPoints[2][0] = nextPoint.x; controlPoints[2][1] = nextPoint.y;
|
|
||||||
|
|
||||||
evaluateQuadraticCurve();
|
|
||||||
++pointIndex;
|
|
||||||
|
|
||||||
previousPoint = nextPoint;
|
|
||||||
controlPoint = FTPoint( contour[pointIndex]);
|
|
||||||
nextPoint = ( pointIndex == numberOfPoints - 1)
|
|
||||||
? pointList[0]
|
|
||||||
: FTPoint( contour[pointIndex + 1]);
|
|
||||||
nextPointTag = ( pointIndex == numberOfPoints - 1)
|
|
||||||
? pointTags[0]
|
|
||||||
: pointTags[pointIndex + 1];
|
|
||||||
}
|
|
||||||
|
|
||||||
controlPoints[0][0] = previousPoint.x; controlPoints[0][1] = previousPoint.y;
|
|
||||||
controlPoints[1][0] = controlPoint.x; controlPoints[1][1] = controlPoint.y;
|
|
||||||
controlPoints[2][0] = nextPoint.x; controlPoints[2][1] = nextPoint.y;
|
|
||||||
|
|
||||||
evaluateQuadraticCurve();
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( pointTag == FT_Curve_Tag_Cubic)
|
|
||||||
{
|
|
||||||
FTPoint controlPoint2 = nextPoint;
|
|
||||||
|
|
||||||
FTPoint nextPoint = ( pointIndex == numberOfPoints - 2)
|
|
||||||
? pointList[0]
|
|
||||||
: FTPoint( contour[pointIndex + 2]);
|
|
||||||
|
|
||||||
controlPoints[0][0] = previousPoint.x; controlPoints[0][1] = previousPoint.y;
|
|
||||||
controlPoints[1][0] = controlPoint.x; controlPoints[1][1] = controlPoint.y;
|
|
||||||
controlPoints[2][0] = controlPoint2.x; controlPoints[2][1] = controlPoint2.y;
|
|
||||||
controlPoints[3][0] = nextPoint.x; controlPoints[3][1] = nextPoint.y;
|
|
||||||
|
|
||||||
evaluateCubicCurve();
|
|
||||||
++pointIndex;
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
141
extern/bFTGL/src/FTExtrdGlyph.cpp
vendored
141
extern/bFTGL/src/FTExtrdGlyph.cpp
vendored
@@ -1,141 +0,0 @@
|
|||||||
#include <math.h>
|
|
||||||
|
|
||||||
#include "FTExtrdGlyph.h"
|
|
||||||
#include "FTVectoriser.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTExtrdGlyph::FTExtrdGlyph( FT_GlyphSlot glyph, float d)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
glList(0),
|
|
||||||
depth(d)
|
|
||||||
{
|
|
||||||
bBox.SetDepth( -depth);
|
|
||||||
|
|
||||||
if( ft_glyph_format_outline != glyph->format)
|
|
||||||
{
|
|
||||||
err = 0x14; // Invalid_Outline
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FTVectoriser vectoriser( glyph);
|
|
||||||
if ( ( vectoriser.ContourCount() < 1) || ( vectoriser.PointCount() < 3))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int tesselationIndex;
|
|
||||||
glList = glGenLists(1);
|
|
||||||
glNewList( glList, GL_COMPILE);
|
|
||||||
|
|
||||||
vectoriser.MakeMesh( 1.0);
|
|
||||||
glNormal3d(0.0, 0.0, 1.0);
|
|
||||||
|
|
||||||
const FTMesh* mesh = vectoriser.GetMesh();
|
|
||||||
for( tesselationIndex = 0; tesselationIndex < mesh->TesselationCount(); ++tesselationIndex)
|
|
||||||
{
|
|
||||||
const FTTesselation* subMesh = mesh->Tesselation( tesselationIndex);
|
|
||||||
unsigned int polyonType = subMesh->PolygonType();
|
|
||||||
|
|
||||||
glBegin( polyonType);
|
|
||||||
for( unsigned int pointIndex = 0; pointIndex < subMesh->PointCount(); ++pointIndex)
|
|
||||||
{
|
|
||||||
glVertex3f( subMesh->Point( pointIndex).x / 64.0f,
|
|
||||||
subMesh->Point( pointIndex).y / 64.0f,
|
|
||||||
0.0f);
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
vectoriser.MakeMesh( -1.0);
|
|
||||||
glNormal3d(0.0, 0.0, -1.0);
|
|
||||||
|
|
||||||
mesh = vectoriser.GetMesh();
|
|
||||||
for( tesselationIndex = 0; tesselationIndex < mesh->TesselationCount(); ++tesselationIndex)
|
|
||||||
{
|
|
||||||
const FTTesselation* subMesh = mesh->Tesselation( tesselationIndex);
|
|
||||||
unsigned int polyonType = subMesh->PolygonType();
|
|
||||||
|
|
||||||
glBegin( polyonType);
|
|
||||||
for( unsigned int pointIndex = 0; pointIndex < subMesh->PointCount(); ++pointIndex)
|
|
||||||
{
|
|
||||||
glVertex3f( subMesh->Point( pointIndex).x / 64.0f,
|
|
||||||
subMesh->Point( pointIndex).y / 64.0f,
|
|
||||||
-depth);
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
int contourFlag = vectoriser.ContourFlag();
|
|
||||||
|
|
||||||
for( size_t c = 0; c < vectoriser.ContourCount(); ++c)
|
|
||||||
{
|
|
||||||
const FTContour* contour = vectoriser.Contour(c);
|
|
||||||
unsigned int numberOfPoints = contour->PointCount();
|
|
||||||
|
|
||||||
glBegin( GL_QUAD_STRIP);
|
|
||||||
for( unsigned int j = 0; j <= numberOfPoints; ++j)
|
|
||||||
{
|
|
||||||
unsigned int index = ( j == numberOfPoints) ? 0 : j;
|
|
||||||
unsigned int nextIndex = ( index == numberOfPoints - 1) ? 0 : index + 1;
|
|
||||||
|
|
||||||
FTPoint normal = GetNormal( contour->Point(index), contour->Point(nextIndex));
|
|
||||||
glNormal3f( normal.x, normal.y, 0.0f);
|
|
||||||
|
|
||||||
if( contourFlag & ft_outline_reverse_fill)
|
|
||||||
{
|
|
||||||
glVertex3f( contour->Point(index).x / 64.0f, contour->Point(index).y / 64.0f, 0.0f);
|
|
||||||
glVertex3f( contour->Point(index).x / 64.0f, contour->Point(index).y / 64.0f, -depth);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
glVertex3f( contour->Point(index).x / 64.0f, contour->Point(index).y / 64.0f, -depth);
|
|
||||||
glVertex3f( contour->Point(index).x / 64.0f, contour->Point(index).y / 64.0f, 0.0f);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
glEndList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTExtrdGlyph::~FTExtrdGlyph()
|
|
||||||
{
|
|
||||||
glDeleteLists( glList, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTExtrdGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
if( glList)
|
|
||||||
{
|
|
||||||
glTranslatef( pen.x, pen.y, 0);
|
|
||||||
glCallList( glList);
|
|
||||||
glTranslatef( -pen.x, -pen.y, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTPoint FTExtrdGlyph::GetNormal( const FTPoint &a, const FTPoint &b)
|
|
||||||
{
|
|
||||||
float vectorX = a.x - b.x;
|
|
||||||
float vectorY = a.y - b.y;
|
|
||||||
|
|
||||||
float length = sqrt( vectorX * vectorX + vectorY * vectorY );
|
|
||||||
|
|
||||||
if( length > 0.0f)
|
|
||||||
{
|
|
||||||
length = 1 / length;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
length = 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
return FTPoint( -vectorY * length,
|
|
||||||
vectorX * length,
|
|
||||||
0.0f);
|
|
||||||
}
|
|
||||||
|
|
||||||
154
extern/bFTGL/src/FTFace.cpp
vendored
154
extern/bFTGL/src/FTFace.cpp
vendored
@@ -1,154 +0,0 @@
|
|||||||
#include "FTFace.h"
|
|
||||||
#include "FTLibrary.h"
|
|
||||||
|
|
||||||
#include FT_TRUETYPE_TABLES_H
|
|
||||||
|
|
||||||
FTFace::FTFace( const char* filename)
|
|
||||||
: numGlyphs(0),
|
|
||||||
fontEncodingList(0),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
const FT_Long DEFAULT_FACE_INDEX = 0;
|
|
||||||
ftFace = new FT_Face;
|
|
||||||
|
|
||||||
err = FT_New_Face( *FTLibrary::Instance().GetLibrary(), filename, DEFAULT_FACE_INDEX, ftFace);
|
|
||||||
|
|
||||||
if( err)
|
|
||||||
{
|
|
||||||
delete ftFace;
|
|
||||||
ftFace = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
numGlyphs = (*ftFace)->num_glyphs;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTFace::FTFace( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: numGlyphs(0),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
const FT_Long DEFAULT_FACE_INDEX = 0;
|
|
||||||
ftFace = new FT_Face;
|
|
||||||
|
|
||||||
err = FT_New_Memory_Face( *FTLibrary::Instance().GetLibrary(), (FT_Byte *)pBufferBytes, bufferSizeInBytes, DEFAULT_FACE_INDEX, ftFace);
|
|
||||||
|
|
||||||
if( err)
|
|
||||||
{
|
|
||||||
delete ftFace;
|
|
||||||
ftFace = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
numGlyphs = (*ftFace)->num_glyphs;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTFace::~FTFace()
|
|
||||||
{
|
|
||||||
Close();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTFace::Attach( const char* filename)
|
|
||||||
{
|
|
||||||
err = FT_Attach_File( *ftFace, filename);
|
|
||||||
return !err;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTFace::Attach( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
{
|
|
||||||
FT_Open_Args open;
|
|
||||||
|
|
||||||
open.flags = FT_OPEN_MEMORY;
|
|
||||||
open.memory_base = (FT_Byte *)pBufferBytes;
|
|
||||||
open.memory_size = bufferSizeInBytes;
|
|
||||||
|
|
||||||
err = FT_Attach_Stream( *ftFace, &open);
|
|
||||||
return !err;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFace::Close()
|
|
||||||
{
|
|
||||||
if( ftFace)
|
|
||||||
{
|
|
||||||
FT_Done_Face( *ftFace);
|
|
||||||
delete ftFace;
|
|
||||||
ftFace = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const FTSize& FTFace::Size( const unsigned int size, const unsigned int res)
|
|
||||||
{
|
|
||||||
charSize.CharSize( ftFace, size, res, res);
|
|
||||||
err = charSize.Error();
|
|
||||||
|
|
||||||
return charSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTFace::CharMapCount()
|
|
||||||
{
|
|
||||||
return (*ftFace)->num_charmaps;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FT_Encoding* FTFace::CharMapList()
|
|
||||||
{
|
|
||||||
if( 0 == fontEncodingList)
|
|
||||||
{
|
|
||||||
fontEncodingList = new FT_Encoding[CharMapCount()];
|
|
||||||
for( size_t encodingIndex = 0; encodingIndex < CharMapCount(); ++encodingIndex)
|
|
||||||
{
|
|
||||||
fontEncodingList[encodingIndex] = (*ftFace)->charmaps[encodingIndex]->encoding;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return fontEncodingList;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTFace::UnitsPerEM() const
|
|
||||||
{
|
|
||||||
return (*ftFace)->units_per_EM;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTPoint FTFace::KernAdvance( unsigned int index1, unsigned int index2)
|
|
||||||
{
|
|
||||||
float x, y;
|
|
||||||
x = y = 0.0f;
|
|
||||||
|
|
||||||
if( FT_HAS_KERNING((*ftFace)) && index1 && index2)
|
|
||||||
{
|
|
||||||
FT_Vector kernAdvance;
|
|
||||||
kernAdvance.x = kernAdvance.y = 0;
|
|
||||||
|
|
||||||
err = FT_Get_Kerning( *ftFace, index1, index2, ft_kerning_unfitted, &kernAdvance);
|
|
||||||
if( !err)
|
|
||||||
{
|
|
||||||
x = static_cast<float>( kernAdvance.x) / 64.0f;
|
|
||||||
y = static_cast<float>( kernAdvance.y) / 64.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return FTPoint( x, y, 0.0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FT_GlyphSlot FTFace::Glyph( unsigned int index, FT_Int load_flags)
|
|
||||||
{
|
|
||||||
err = FT_Load_Glyph( *ftFace, index, load_flags);
|
|
||||||
if( err)
|
|
||||||
{
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return (*ftFace)->glyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
271
extern/bFTGL/src/FTFont.cpp
vendored
271
extern/bFTGL/src/FTFont.cpp
vendored
@@ -1,271 +0,0 @@
|
|||||||
#include "FTFace.h"
|
|
||||||
#include "FTFont.h"
|
|
||||||
#include "FTGlyphContainer.h"
|
|
||||||
#include "FTBBox.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTFont::FTFont( const char* fontname)
|
|
||||||
: face( fontname),
|
|
||||||
glyphList(0)
|
|
||||||
{
|
|
||||||
err = face.Error();
|
|
||||||
if( err == 0)
|
|
||||||
{
|
|
||||||
glyphList = new FTGlyphContainer( &face);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTFont::FTFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: face( pBufferBytes, bufferSizeInBytes),
|
|
||||||
glyphList(0)
|
|
||||||
{
|
|
||||||
err = face.Error();
|
|
||||||
if( err == 0)
|
|
||||||
{
|
|
||||||
glyphList = new FTGlyphContainer( &face);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTFont::~FTFont()
|
|
||||||
{
|
|
||||||
delete glyphList;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTFont::Attach( const char* filename)
|
|
||||||
{
|
|
||||||
if( face.Attach( filename))
|
|
||||||
{
|
|
||||||
err = 0;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
err = face.Error();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTFont::Attach( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
{
|
|
||||||
if( face.Attach( pBufferBytes, bufferSizeInBytes))
|
|
||||||
{
|
|
||||||
err = 0;
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
err = face.Error();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTFont::FaceSize( const unsigned int size, const unsigned int res )
|
|
||||||
{
|
|
||||||
charSize = face.Size( size, res);
|
|
||||||
|
|
||||||
if( face.Error())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( glyphList != NULL)
|
|
||||||
{
|
|
||||||
delete glyphList;
|
|
||||||
}
|
|
||||||
|
|
||||||
glyphList = new FTGlyphContainer( &face);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTFont::FaceSize() const
|
|
||||||
{
|
|
||||||
return charSize.CharSize();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTFont::CharMap( FT_Encoding encoding)
|
|
||||||
{
|
|
||||||
bool result = glyphList->CharMap( encoding);
|
|
||||||
err = glyphList->Error();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTFont::CharMapCount()
|
|
||||||
{
|
|
||||||
return face.CharMapCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FT_Encoding* FTFont::CharMapList()
|
|
||||||
{
|
|
||||||
return face.CharMapList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTFont::Ascender() const
|
|
||||||
{
|
|
||||||
return charSize.Ascender();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTFont::Descender() const
|
|
||||||
{
|
|
||||||
return charSize.Descender();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFont::BBox( const char* string,
|
|
||||||
float& llx, float& lly, float& llz, float& urx, float& ury, float& urz)
|
|
||||||
{
|
|
||||||
FTBBox totalBBox;
|
|
||||||
|
|
||||||
if((NULL != string) && ('\0' != *string))
|
|
||||||
{
|
|
||||||
const unsigned char* c = (unsigned char*)string;
|
|
||||||
|
|
||||||
CheckGlyph( *c);
|
|
||||||
|
|
||||||
totalBBox = glyphList->BBox( *c);
|
|
||||||
float advance = glyphList->Advance( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
|
|
||||||
while( *c)
|
|
||||||
{
|
|
||||||
CheckGlyph( *c);
|
|
||||||
FTBBox tempBBox = glyphList->BBox( *c);
|
|
||||||
tempBBox.Move( FTPoint( advance, 0.0f, 0.0f));
|
|
||||||
totalBBox += tempBBox;
|
|
||||||
advance += glyphList->Advance( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
llx = totalBBox.lowerX;
|
|
||||||
lly = totalBBox.lowerY;
|
|
||||||
llz = totalBBox.lowerZ;
|
|
||||||
urx = totalBBox.upperX;
|
|
||||||
ury = totalBBox.upperY;
|
|
||||||
urz = totalBBox.upperZ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFont::BBox( const wchar_t* string,
|
|
||||||
float& llx, float& lly, float& llz, float& urx, float& ury, float& urz)
|
|
||||||
{
|
|
||||||
FTBBox totalBBox;
|
|
||||||
|
|
||||||
if((NULL != string) && ('\0' != *string))
|
|
||||||
{
|
|
||||||
const wchar_t* c = string;
|
|
||||||
|
|
||||||
CheckGlyph( *c);
|
|
||||||
|
|
||||||
totalBBox = glyphList->BBox( *c);
|
|
||||||
float advance = glyphList->Advance( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
|
|
||||||
while( *c)
|
|
||||||
{
|
|
||||||
CheckGlyph( *c);
|
|
||||||
FTBBox tempBBox = glyphList->BBox( *c);
|
|
||||||
tempBBox.Move( FTPoint( advance, 0.0f, 0.0f));
|
|
||||||
totalBBox += tempBBox;
|
|
||||||
advance += glyphList->Advance( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
llx = totalBBox.lowerX;
|
|
||||||
lly = totalBBox.lowerY;
|
|
||||||
llz = totalBBox.lowerZ;
|
|
||||||
urx = totalBBox.upperX;
|
|
||||||
ury = totalBBox.upperY;
|
|
||||||
urz = totalBBox.upperZ;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTFont::Advance( const wchar_t* string)
|
|
||||||
{
|
|
||||||
const wchar_t* c = string;
|
|
||||||
float width = 0.0f;
|
|
||||||
|
|
||||||
while( *c)
|
|
||||||
{
|
|
||||||
CheckGlyph( *c);
|
|
||||||
width += glyphList->Advance( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
}
|
|
||||||
|
|
||||||
return width;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTFont::Advance( const char* string)
|
|
||||||
{
|
|
||||||
const unsigned char* c = (unsigned char*)string;
|
|
||||||
float width = 0.0f;
|
|
||||||
|
|
||||||
while( *c)
|
|
||||||
{
|
|
||||||
CheckGlyph( *c);
|
|
||||||
width += glyphList->Advance( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
}
|
|
||||||
|
|
||||||
return width;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFont::Render( const char* string )
|
|
||||||
{
|
|
||||||
const unsigned char* c = (unsigned char*)string;
|
|
||||||
pen.x = 0; pen.y = 0;
|
|
||||||
|
|
||||||
while( *c)
|
|
||||||
{
|
|
||||||
DoRender( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFont::Render( const wchar_t* string )
|
|
||||||
{
|
|
||||||
const wchar_t* c = string;
|
|
||||||
pen.x = 0; pen.y = 0;
|
|
||||||
|
|
||||||
while( *c)
|
|
||||||
{
|
|
||||||
DoRender( *c, *(c + 1));
|
|
||||||
++c;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFont::DoRender( const unsigned int chr, const unsigned int nextChr)
|
|
||||||
{
|
|
||||||
CheckGlyph( chr);
|
|
||||||
|
|
||||||
FTPoint kernAdvance = glyphList->Render( chr, nextChr, pen);
|
|
||||||
|
|
||||||
pen.x += kernAdvance.x;
|
|
||||||
pen.y += kernAdvance.y;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTFont::CheckGlyph( const unsigned int characterCode)
|
|
||||||
{
|
|
||||||
if( NULL == glyphList->Glyph( characterCode))
|
|
||||||
{
|
|
||||||
unsigned int glyphIndex = glyphList->FontIndex( characterCode);
|
|
||||||
glyphList->Add( MakeGlyph( glyphIndex), characterCode);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
66
extern/bFTGL/src/FTGLBitmapFont.cpp
vendored
66
extern/bFTGL/src/FTGLBitmapFont.cpp
vendored
@@ -1,66 +0,0 @@
|
|||||||
#include "FTGLBitmapFont.h"
|
|
||||||
#include "FTBitmapGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGLBitmapFont::FTGLBitmapFont( const char* fontname)
|
|
||||||
: FTFont( fontname)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLBitmapFont::FTGLBitmapFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLBitmapFont::~FTGLBitmapFont()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLBitmapFont::MakeGlyph( unsigned int g)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_DEFAULT);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
FTBitmapGlyph* tempGlyph = new FTBitmapGlyph( ftGlyph);
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLBitmapFont::Render( const char* string)
|
|
||||||
{
|
|
||||||
glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT);
|
|
||||||
glPushAttrib( GL_ENABLE_BIT);
|
|
||||||
|
|
||||||
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE);
|
|
||||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
glDisable( GL_BLEND);
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
glPopAttrib();
|
|
||||||
glPopClientAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLBitmapFont::Render( const wchar_t* string)
|
|
||||||
{
|
|
||||||
glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT);
|
|
||||||
glPushAttrib( GL_ENABLE_BIT);
|
|
||||||
|
|
||||||
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE);
|
|
||||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
glDisable( GL_BLEND);
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
glPopAttrib();
|
|
||||||
glPopClientAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
53
extern/bFTGL/src/FTGLBufferFont.cpp
vendored
53
extern/bFTGL/src/FTGLBufferFont.cpp
vendored
@@ -1,53 +0,0 @@
|
|||||||
#include "FTGLBufferFont.h"
|
|
||||||
#include "FTBufferGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGLBufferFont::FTGLBufferFont( const char* fontname)
|
|
||||||
: FTFont( fontname),
|
|
||||||
buffer(0)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLBufferFont::FTGLBufferFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes),
|
|
||||||
buffer(0)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLBufferFont::~FTGLBufferFont()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLBufferFont::MakeGlyph( unsigned int g)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_NO_HINTING);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
FTBufferGlyph* tempGlyph = new FTBufferGlyph( ftGlyph, buffer);
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLBufferFont::Render( const char* string)
|
|
||||||
{
|
|
||||||
if( NULL != buffer)
|
|
||||||
{
|
|
||||||
FTFont::Render( string);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLBufferFont::Render( const wchar_t* string)
|
|
||||||
{
|
|
||||||
if( NULL != buffer)
|
|
||||||
{
|
|
||||||
FTFont::Render( string);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
35
extern/bFTGL/src/FTGLExtrdFont.cpp
vendored
35
extern/bFTGL/src/FTGLExtrdFont.cpp
vendored
@@ -1,35 +0,0 @@
|
|||||||
#include "FTGLExtrdFont.h"
|
|
||||||
#include "FTExtrdGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGLExtrdFont::FTGLExtrdFont( const char* fontname)
|
|
||||||
: FTFont( fontname),
|
|
||||||
depth( 0.0f)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLExtrdFont::FTGLExtrdFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes),
|
|
||||||
depth( 0.0f)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLExtrdFont::~FTGLExtrdFont()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLExtrdFont::MakeGlyph( unsigned int glyphIndex)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( glyphIndex, FT_LOAD_NO_HINTING);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
FTExtrdGlyph* tempGlyph = new FTExtrdGlyph( ftGlyph, depth);
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
66
extern/bFTGL/src/FTGLOutlineFont.cpp
vendored
66
extern/bFTGL/src/FTGLOutlineFont.cpp
vendored
@@ -1,66 +0,0 @@
|
|||||||
#include "FTGLOutlineFont.h"
|
|
||||||
#include "FTOutlineGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGLOutlineFont::FTGLOutlineFont( const char* fontname)
|
|
||||||
: FTFont( fontname)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLOutlineFont::FTGLOutlineFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLOutlineFont::~FTGLOutlineFont()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLOutlineFont::MakeGlyph( unsigned int g)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_NO_HINTING);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
FTOutlineGlyph* tempGlyph = new FTOutlineGlyph( ftGlyph);
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLOutlineFont::Render( const char* string)
|
|
||||||
{
|
|
||||||
glPushAttrib( GL_ENABLE_BIT | GL_HINT_BIT | GL_LINE_BIT | GL_COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
glDisable( GL_TEXTURE_2D);
|
|
||||||
|
|
||||||
glEnable( GL_LINE_SMOOTH);
|
|
||||||
glHint( GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_ONE
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
glPopAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLOutlineFont::Render( const wchar_t* string)
|
|
||||||
{
|
|
||||||
glPushAttrib( GL_ENABLE_BIT | GL_HINT_BIT | GL_LINE_BIT | GL_COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
glDisable( GL_TEXTURE_2D);
|
|
||||||
|
|
||||||
glEnable( GL_LINE_SMOOTH);
|
|
||||||
glHint( GL_LINE_SMOOTH_HINT, GL_DONT_CARE);
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_ONE
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
glPopAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
68
extern/bFTGL/src/FTGLPixmapFont.cpp
vendored
68
extern/bFTGL/src/FTGLPixmapFont.cpp
vendored
@@ -1,68 +0,0 @@
|
|||||||
#include "FTGLPixmapFont.h"
|
|
||||||
#include "FTPixmapGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGLPixmapFont::FTGLPixmapFont( const char* fontname)
|
|
||||||
: FTFont( fontname)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLPixmapFont::FTGLPixmapFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLPixmapFont::~FTGLPixmapFont()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLPixmapFont::MakeGlyph( unsigned int g)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
FTPixmapGlyph* tempGlyph = new FTPixmapGlyph( ftGlyph);
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLPixmapFont::Render( const char* string)
|
|
||||||
{
|
|
||||||
glPushAttrib( GL_ENABLE_BIT | GL_PIXEL_MODE_BIT | GL_COLOR_BUFFER_BIT);
|
|
||||||
glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT);
|
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
|
|
||||||
glDisable( GL_TEXTURE_2D);
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
glPopClientAttrib();
|
|
||||||
glPopAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLPixmapFont::Render( const wchar_t* string)
|
|
||||||
{
|
|
||||||
//glPushAttrib( GL_ENABLE_BIT | GL_PIXEL_MODE_BIT | GL_COLOR_BUFFER_BIT);
|
|
||||||
// glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT);
|
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
|
|
||||||
|
|
||||||
glDisable( GL_TEXTURE_2D);
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
glDisable(GL_BLEND);
|
|
||||||
// glPopClientAttrib();
|
|
||||||
// glPopAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
33
extern/bFTGL/src/FTGLPolygonFont.cpp
vendored
33
extern/bFTGL/src/FTGLPolygonFont.cpp
vendored
@@ -1,33 +0,0 @@
|
|||||||
#include "FTGLPolygonFont.h"
|
|
||||||
#include "FTPolyGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGLPolygonFont::FTGLPolygonFont( const char* fontname)
|
|
||||||
: FTFont( fontname)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLPolygonFont::FTGLPolygonFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLPolygonFont::~FTGLPolygonFont()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLPolygonFont::MakeGlyph( unsigned int g)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_NO_HINTING);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
FTPolyGlyph* tempGlyph = new FTPolyGlyph( ftGlyph);
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
178
extern/bFTGL/src/FTGLTextureFont.cpp
vendored
178
extern/bFTGL/src/FTGLTextureFont.cpp
vendored
@@ -1,178 +0,0 @@
|
|||||||
#include <string> // For memset
|
|
||||||
|
|
||||||
#include "FTGLTextureFont.h"
|
|
||||||
#include "FTTextureGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
inline GLuint NextPowerOf2( GLuint in)
|
|
||||||
{
|
|
||||||
in -= 1;
|
|
||||||
|
|
||||||
in |= in >> 16;
|
|
||||||
in |= in >> 8;
|
|
||||||
in |= in >> 4;
|
|
||||||
in |= in >> 2;
|
|
||||||
in |= in >> 1;
|
|
||||||
|
|
||||||
return in + 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLTextureFont::FTGLTextureFont( const char* fontname)
|
|
||||||
: FTFont( fontname),
|
|
||||||
maxTextSize(0),
|
|
||||||
textureWidth(0),
|
|
||||||
textureHeight(0),
|
|
||||||
glyphHeight(0),
|
|
||||||
glyphWidth(0),
|
|
||||||
padding(3),
|
|
||||||
xOffset(0),
|
|
||||||
yOffset(0)
|
|
||||||
{
|
|
||||||
remGlyphs = numGlyphs = face.GlyphCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLTextureFont::FTGLTextureFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes)
|
|
||||||
: FTFont( pBufferBytes, bufferSizeInBytes),
|
|
||||||
maxTextSize(0),
|
|
||||||
textureWidth(0),
|
|
||||||
textureHeight(0),
|
|
||||||
glyphHeight(0),
|
|
||||||
glyphWidth(0),
|
|
||||||
padding(3),
|
|
||||||
xOffset(0),
|
|
||||||
yOffset(0)
|
|
||||||
{
|
|
||||||
remGlyphs = numGlyphs = face.GlyphCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGLTextureFont::~FTGLTextureFont()
|
|
||||||
{
|
|
||||||
glDeleteTextures( textureIDList.size(), (const GLuint*)&textureIDList[0]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph* FTGLTextureFont::MakeGlyph( unsigned int glyphIndex)
|
|
||||||
{
|
|
||||||
FT_GlyphSlot ftGlyph = face.Glyph( glyphIndex, FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP);
|
|
||||||
|
|
||||||
if( ftGlyph)
|
|
||||||
{
|
|
||||||
glyphHeight = static_cast<int>( charSize.Height());
|
|
||||||
glyphWidth = static_cast<int>( charSize.Width());
|
|
||||||
|
|
||||||
if( textureIDList.empty())
|
|
||||||
{
|
|
||||||
textureIDList.push_back( CreateTexture());
|
|
||||||
xOffset = yOffset = padding;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( xOffset > ( textureWidth - glyphWidth))
|
|
||||||
{
|
|
||||||
xOffset = padding;
|
|
||||||
yOffset += glyphHeight;
|
|
||||||
|
|
||||||
if( yOffset > ( textureHeight - glyphHeight))
|
|
||||||
{
|
|
||||||
textureIDList.push_back( CreateTexture());
|
|
||||||
yOffset = padding;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
FTTextureGlyph* tempGlyph = new FTTextureGlyph( ftGlyph, textureIDList[textureIDList.size() - 1],
|
|
||||||
xOffset, yOffset, textureWidth, textureHeight);
|
|
||||||
xOffset += static_cast<int>( tempGlyph->BBox().upperX - tempGlyph->BBox().lowerX + padding);
|
|
||||||
|
|
||||||
--remGlyphs;
|
|
||||||
return tempGlyph;
|
|
||||||
}
|
|
||||||
|
|
||||||
err = face.Error();
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLTextureFont::CalculateTextureSize()
|
|
||||||
{
|
|
||||||
if( !maxTextSize)
|
|
||||||
{
|
|
||||||
glGetIntegerv( GL_MAX_TEXTURE_SIZE, (GLint*)&maxTextSize);
|
|
||||||
}
|
|
||||||
|
|
||||||
textureWidth = NextPowerOf2( (remGlyphs * glyphWidth) + ( padding * 2));
|
|
||||||
if( textureWidth > maxTextSize)
|
|
||||||
{
|
|
||||||
textureWidth = maxTextSize;
|
|
||||||
}
|
|
||||||
|
|
||||||
int h = static_cast<int>( (textureWidth - ( padding * 2)) / glyphWidth);
|
|
||||||
|
|
||||||
textureHeight = NextPowerOf2( (( numGlyphs / h) + 1) * glyphHeight);
|
|
||||||
textureHeight = textureHeight > maxTextSize ? maxTextSize : textureHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
GLuint FTGLTextureFont::CreateTexture()
|
|
||||||
{
|
|
||||||
CalculateTextureSize();
|
|
||||||
|
|
||||||
int totalMemory = textureWidth * textureHeight;
|
|
||||||
unsigned char* textureMemory = new unsigned char[totalMemory];
|
|
||||||
memset( textureMemory, 0, totalMemory);
|
|
||||||
|
|
||||||
GLuint textID;
|
|
||||||
glGenTextures( 1, (GLuint*)&textID);
|
|
||||||
|
|
||||||
glBindTexture( GL_TEXTURE_2D, textID);
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
|
||||||
glTexParameteri( GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
|
||||||
|
|
||||||
glTexImage2D( GL_TEXTURE_2D, 0, GL_ALPHA, textureWidth, textureHeight, 0, GL_ALPHA, GL_UNSIGNED_BYTE, textureMemory);
|
|
||||||
|
|
||||||
delete [] textureMemory;
|
|
||||||
|
|
||||||
return textID;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTGLTextureFont::FaceSize( const unsigned int size, const unsigned int res)
|
|
||||||
{
|
|
||||||
if( !textureIDList.empty())
|
|
||||||
{
|
|
||||||
glDeleteTextures( textureIDList.size(), (const GLuint*)&textureIDList[0]);
|
|
||||||
remGlyphs = numGlyphs = face.GlyphCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
return FTFont::FaceSize( size, res);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLTextureFont::Render( const char* string)
|
|
||||||
{
|
|
||||||
// glPushAttrib( GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_ONE
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
// glPopAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGLTextureFont::Render( const wchar_t* string)
|
|
||||||
{
|
|
||||||
// glPushAttrib( GL_ENABLE_BIT | GL_COLOR_BUFFER_BIT);
|
|
||||||
|
|
||||||
glEnable(GL_BLEND);
|
|
||||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_ONE
|
|
||||||
|
|
||||||
FTFont::Render( string);
|
|
||||||
|
|
||||||
// glPopAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
17
extern/bFTGL/src/FTGlyph.cpp
vendored
17
extern/bFTGL/src/FTGlyph.cpp
vendored
@@ -1,17 +0,0 @@
|
|||||||
#include "FTGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph::FTGlyph( FT_GlyphSlot glyph)
|
|
||||||
: advance(0.0f),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
if( glyph)
|
|
||||||
{
|
|
||||||
bBox = FTBBox( glyph);
|
|
||||||
advance = static_cast<float>( glyph->advance.x) / 64.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyph::~FTGlyph()
|
|
||||||
{}
|
|
||||||
93
extern/bFTGL/src/FTGlyphContainer.cpp
vendored
93
extern/bFTGL/src/FTGlyphContainer.cpp
vendored
@@ -1,93 +0,0 @@
|
|||||||
#include "FTGlyphContainer.h"
|
|
||||||
#include "FTGlyph.h"
|
|
||||||
#include "FTFace.h"
|
|
||||||
#include "FTCharmap.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyphContainer::FTGlyphContainer( FTFace* f)
|
|
||||||
: face(f),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
glyphs.push_back( NULL);
|
|
||||||
charMap = new FTCharmap( face);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGlyphContainer::~FTGlyphContainer()
|
|
||||||
{
|
|
||||||
GlyphVector::iterator glyphIterator;
|
|
||||||
for( glyphIterator = glyphs.begin(); glyphIterator != glyphs.end(); ++glyphIterator)
|
|
||||||
{
|
|
||||||
delete *glyphIterator;
|
|
||||||
}
|
|
||||||
|
|
||||||
glyphs.clear();
|
|
||||||
delete charMap;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTGlyphContainer::CharMap( FT_Encoding encoding)
|
|
||||||
{
|
|
||||||
bool result = charMap->CharMap( encoding);
|
|
||||||
err = charMap->Error();
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTGlyphContainer::FontIndex( const unsigned int characterCode) const
|
|
||||||
{
|
|
||||||
return charMap->FontIndex( characterCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTGlyphContainer::Add( FTGlyph* tempGlyph, const unsigned int characterCode)
|
|
||||||
{
|
|
||||||
charMap->InsertIndex( characterCode, glyphs.size());
|
|
||||||
glyphs.push_back( tempGlyph);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const FTGlyph* const FTGlyphContainer::Glyph( const unsigned int characterCode) const
|
|
||||||
{
|
|
||||||
signed int index = charMap->GlyphListIndex( characterCode);
|
|
||||||
return glyphs[index];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTBBox FTGlyphContainer::BBox( const unsigned int characterCode) const
|
|
||||||
{
|
|
||||||
return glyphs[charMap->GlyphListIndex( characterCode)]->BBox();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTGlyphContainer::Advance( const unsigned int characterCode, const unsigned int nextCharacterCode)
|
|
||||||
{
|
|
||||||
unsigned int left = charMap->FontIndex( characterCode);
|
|
||||||
unsigned int right = charMap->FontIndex( nextCharacterCode);
|
|
||||||
|
|
||||||
float width = face->KernAdvance( left, right).x;
|
|
||||||
width += glyphs[charMap->GlyphListIndex( characterCode)]->Advance();
|
|
||||||
|
|
||||||
return width;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTPoint FTGlyphContainer::Render( const unsigned int characterCode, const unsigned int nextCharacterCode, FTPoint penPosition)
|
|
||||||
{
|
|
||||||
FTPoint kernAdvance;
|
|
||||||
float advance = 0;
|
|
||||||
|
|
||||||
unsigned int left = charMap->FontIndex( characterCode);
|
|
||||||
unsigned int right = charMap->FontIndex( nextCharacterCode);
|
|
||||||
|
|
||||||
kernAdvance = face->KernAdvance( left, right);
|
|
||||||
|
|
||||||
if( !face->Error())
|
|
||||||
{
|
|
||||||
advance = glyphs[charMap->GlyphListIndex( characterCode)]->Render( penPosition);
|
|
||||||
}
|
|
||||||
|
|
||||||
kernAdvance.x = advance + kernAdvance.x;
|
|
||||||
// kernAdvance.y = advance.y + kernAdvance.y;
|
|
||||||
return kernAdvance;
|
|
||||||
}
|
|
||||||
64
extern/bFTGL/src/FTLibrary.cpp
vendored
64
extern/bFTGL/src/FTLibrary.cpp
vendored
@@ -1,64 +0,0 @@
|
|||||||
#include "FTLibrary.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTLibrary& FTLibrary::Instance()
|
|
||||||
{
|
|
||||||
static FTLibrary ftlib;
|
|
||||||
return ftlib;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTLibrary::~FTLibrary()
|
|
||||||
{
|
|
||||||
if( library != 0)
|
|
||||||
{
|
|
||||||
FT_Done_FreeType( *library);
|
|
||||||
|
|
||||||
delete library;
|
|
||||||
library= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// if( manager != 0)
|
|
||||||
// {
|
|
||||||
// FTC_Manager_Done( manager );
|
|
||||||
//
|
|
||||||
// delete manager;
|
|
||||||
// manager= 0;
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTLibrary::FTLibrary()
|
|
||||||
: library(0),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
Initialise();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTLibrary::Initialise()
|
|
||||||
{
|
|
||||||
if( library != 0)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
library = new FT_Library;
|
|
||||||
|
|
||||||
err = FT_Init_FreeType( library);
|
|
||||||
if( err)
|
|
||||||
{
|
|
||||||
delete library;
|
|
||||||
library = 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// FTC_Manager* manager;
|
|
||||||
//
|
|
||||||
// if( FTC_Manager_New( lib, 0, 0, 0, my_face_requester, 0, manager )
|
|
||||||
// {
|
|
||||||
// delete manager;
|
|
||||||
// manager= 0;
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
57
extern/bFTGL/src/FTOutlineGlyph.cpp
vendored
57
extern/bFTGL/src/FTOutlineGlyph.cpp
vendored
@@ -1,57 +0,0 @@
|
|||||||
#include "FTOutlineGlyph.h"
|
|
||||||
#include "FTVectoriser.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTOutlineGlyph::FTOutlineGlyph( FT_GlyphSlot glyph)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
glList(0)
|
|
||||||
{
|
|
||||||
if( ft_glyph_format_outline != glyph->format)
|
|
||||||
{
|
|
||||||
err = 0x14; // Invalid_Outline
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FTVectoriser vectoriser( glyph);
|
|
||||||
|
|
||||||
size_t numContours = vectoriser.ContourCount();
|
|
||||||
if ( ( numContours < 1) || ( vectoriser.PointCount() < 3))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
glList = glGenLists(1);
|
|
||||||
glNewList( glList, GL_COMPILE);
|
|
||||||
for( unsigned int c = 0; c < numContours; ++c)
|
|
||||||
{
|
|
||||||
const FTContour* contour = vectoriser.Contour(c);
|
|
||||||
|
|
||||||
glBegin( GL_LINE_LOOP);
|
|
||||||
for( unsigned int p = 0; p < contour->PointCount(); ++p)
|
|
||||||
{
|
|
||||||
glVertex2f( contour->Point(p).x / 64.0f, contour->Point(p).y / 64.0f);
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
glEndList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTOutlineGlyph::~FTOutlineGlyph()
|
|
||||||
{
|
|
||||||
glDeleteLists( glList, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTOutlineGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
if( glList)
|
|
||||||
{
|
|
||||||
glTranslatef( pen.x, pen.y, 0);
|
|
||||||
glCallList( glList);
|
|
||||||
glTranslatef( -pen.x, -pen.y, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
|
|
||||||
109
extern/bFTGL/src/FTPixmapGlyph.cpp
vendored
109
extern/bFTGL/src/FTPixmapGlyph.cpp
vendored
@@ -1,109 +0,0 @@
|
|||||||
#include "FTPixmapGlyph.h"
|
|
||||||
|
|
||||||
FTPixmapGlyph::FTPixmapGlyph( FT_GlyphSlot glyph)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
destWidth(0),
|
|
||||||
destHeight(0),
|
|
||||||
data(0)
|
|
||||||
{
|
|
||||||
err = FT_Render_Glyph( glyph, FT_RENDER_MODE_NORMAL);
|
|
||||||
if( err || ft_glyph_format_bitmap != glyph->format)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FT_Bitmap bitmap = glyph->bitmap;
|
|
||||||
|
|
||||||
//check the pixel mode
|
|
||||||
//ft_pixel_mode_grays
|
|
||||||
|
|
||||||
int srcWidth = bitmap.width;
|
|
||||||
int srcHeight = bitmap.rows;
|
|
||||||
|
|
||||||
// FIXME What about dest alignment?
|
|
||||||
destWidth = srcWidth;
|
|
||||||
destHeight = srcHeight;
|
|
||||||
|
|
||||||
if( destWidth && destHeight)
|
|
||||||
{
|
|
||||||
data = new unsigned char[destWidth * destHeight * 4];
|
|
||||||
|
|
||||||
// Get the current glColor.
|
|
||||||
float ftglColour[4];
|
|
||||||
// glGetFloatv( GL_CURRENT_COLOR, ftglColour);
|
|
||||||
ftglColour[0] = ftglColour[1] = ftglColour[2] = ftglColour[3] = 1.0;
|
|
||||||
|
|
||||||
unsigned char redComponent = static_cast<unsigned char>( ftglColour[0] * 255.0f);
|
|
||||||
unsigned char greenComponent = static_cast<unsigned char>( ftglColour[1] * 255.0f);
|
|
||||||
unsigned char blueComponent = static_cast<unsigned char>( ftglColour[2] * 255.0f);
|
|
||||||
|
|
||||||
unsigned char* src = bitmap.buffer;
|
|
||||||
|
|
||||||
unsigned char* dest = data + ((destHeight - 1) * destWidth) * 4;
|
|
||||||
size_t destStep = destWidth * 4 * 2;
|
|
||||||
|
|
||||||
if( ftglColour[3] == 1.0f)
|
|
||||||
{
|
|
||||||
for( int y = 0; y < srcHeight; ++y)
|
|
||||||
{
|
|
||||||
for( int x = 0; x < srcWidth; ++x)
|
|
||||||
{
|
|
||||||
*dest++ = redComponent;
|
|
||||||
*dest++ = greenComponent;
|
|
||||||
*dest++ = blueComponent;
|
|
||||||
*dest++ = *src++;
|
|
||||||
}
|
|
||||||
dest -= destStep;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for( int y = 0; y < srcHeight; ++y)
|
|
||||||
{
|
|
||||||
for( int x = 0; x < srcWidth; ++x)
|
|
||||||
{
|
|
||||||
*dest++ = redComponent;
|
|
||||||
*dest++ = greenComponent;
|
|
||||||
*dest++ = blueComponent;
|
|
||||||
*dest++ = static_cast<unsigned char>(ftglColour[3] * *src++);
|
|
||||||
}
|
|
||||||
dest -= destStep;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
destHeight = srcHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
pos.x = glyph->bitmap_left;
|
|
||||||
pos.y = srcHeight - glyph->bitmap_top;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTPixmapGlyph::~FTPixmapGlyph()
|
|
||||||
{
|
|
||||||
delete [] data;
|
|
||||||
}
|
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
float FTPixmapGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
if( data)
|
|
||||||
{
|
|
||||||
float dx, dy;
|
|
||||||
|
|
||||||
dx= floor( (pen.x + pos.x ) );
|
|
||||||
dy= ( (pen.y - pos.y ) );
|
|
||||||
|
|
||||||
// Move the glyph origin
|
|
||||||
glBitmap( 0, 0, 0.0f, 0.0f, dx, dy, (const GLubyte*)0);
|
|
||||||
|
|
||||||
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0);
|
|
||||||
|
|
||||||
glDrawPixels( destWidth, destHeight, GL_RGBA, GL_UNSIGNED_BYTE, (const GLvoid*)data);
|
|
||||||
|
|
||||||
// Restore the glyph origin
|
|
||||||
glBitmap( 0, 0, 0.0f, 0.0f, -dx, -dy, (const GLubyte*)0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
14
extern/bFTGL/src/FTPoint.cpp
vendored
14
extern/bFTGL/src/FTPoint.cpp
vendored
@@ -1,14 +0,0 @@
|
|||||||
#include "FTPoint.h"
|
|
||||||
|
|
||||||
|
|
||||||
bool operator == ( const FTPoint &a, const FTPoint &b)
|
|
||||||
{
|
|
||||||
return((a.x == b.x) && (a.y == b.y) && (a.z == b.z));
|
|
||||||
}
|
|
||||||
|
|
||||||
bool operator != ( const FTPoint &a, const FTPoint &b)
|
|
||||||
{
|
|
||||||
return((a.x != b.x) || (a.y != b.y) || (a.z != b.z));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
62
extern/bFTGL/src/FTPolyGlyph.cpp
vendored
62
extern/bFTGL/src/FTPolyGlyph.cpp
vendored
@@ -1,62 +0,0 @@
|
|||||||
#include "FTPolyGlyph.h"
|
|
||||||
#include "FTVectoriser.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTPolyGlyph::FTPolyGlyph( FT_GlyphSlot glyph)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
glList(0)
|
|
||||||
{
|
|
||||||
if( ft_glyph_format_outline != glyph->format)
|
|
||||||
{
|
|
||||||
err = 0x14; // Invalid_Outline
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FTVectoriser vectoriser( glyph);
|
|
||||||
|
|
||||||
if(( vectoriser.ContourCount() < 1) || ( vectoriser.PointCount() < 3))
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
vectoriser.MakeMesh( 1.0);
|
|
||||||
|
|
||||||
glList = glGenLists( 1);
|
|
||||||
glNewList( glList, GL_COMPILE);
|
|
||||||
|
|
||||||
const FTMesh* mesh = vectoriser.GetMesh();
|
|
||||||
for( unsigned int index = 0; index < mesh->TesselationCount(); ++index)
|
|
||||||
{
|
|
||||||
const FTTesselation* subMesh = mesh->Tesselation( index);
|
|
||||||
unsigned int polyonType = subMesh->PolygonType();
|
|
||||||
|
|
||||||
glBegin( polyonType);
|
|
||||||
for( unsigned int x = 0; x < subMesh->PointCount(); ++x)
|
|
||||||
{
|
|
||||||
glVertex3f( subMesh->Point(x).x / 64.0f,
|
|
||||||
subMesh->Point(x).y / 64.0f,
|
|
||||||
0.0f);
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
glEndList();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTPolyGlyph::~FTPolyGlyph()
|
|
||||||
{
|
|
||||||
glDeleteLists( glList, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTPolyGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
if( glList)
|
|
||||||
{
|
|
||||||
glTranslatef( pen.x, pen.y, 0);
|
|
||||||
glCallList( glList);
|
|
||||||
glTranslatef( -pen.x, -pen.y, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
105
extern/bFTGL/src/FTSize.cpp
vendored
105
extern/bFTGL/src/FTSize.cpp
vendored
@@ -1,105 +0,0 @@
|
|||||||
#include "FTSize.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTSize::FTSize()
|
|
||||||
: ftFace(0),
|
|
||||||
ftSize(0),
|
|
||||||
size(0),
|
|
||||||
err(0)
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
FTSize::~FTSize()
|
|
||||||
{}
|
|
||||||
|
|
||||||
|
|
||||||
bool FTSize::CharSize( FT_Face* face, unsigned int point_size, unsigned int x_resolution, unsigned int y_resolution )
|
|
||||||
{
|
|
||||||
err = FT_Set_Char_Size( *face, 0L, point_size * 64, x_resolution, y_resolution);
|
|
||||||
|
|
||||||
if( !err)
|
|
||||||
{
|
|
||||||
ftFace = face;
|
|
||||||
size = point_size;
|
|
||||||
ftSize = (*ftFace)->size;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
ftFace = 0;
|
|
||||||
size = 0;
|
|
||||||
ftSize = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
return !err;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
unsigned int FTSize::CharSize() const
|
|
||||||
{
|
|
||||||
return size;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTSize::Ascender() const
|
|
||||||
{
|
|
||||||
return ftSize == 0 ? 0.0f : static_cast<float>( ftSize->metrics.ascender) / 64.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTSize::Descender() const
|
|
||||||
{
|
|
||||||
return ftSize == 0 ? 0.0f : static_cast<float>( ftSize->metrics.descender) / 64.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTSize::Height() const
|
|
||||||
{
|
|
||||||
if( 0 == ftSize)
|
|
||||||
{
|
|
||||||
return 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( FT_IS_SCALABLE((*ftFace)))
|
|
||||||
{
|
|
||||||
return ( (*ftFace)->bbox.yMax - (*ftFace)->bbox.yMin) * ( (float)ftSize->metrics.y_ppem / (float)(*ftFace)->units_per_EM);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return static_cast<float>( ftSize->metrics.height) / 64.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTSize::Width() const
|
|
||||||
{
|
|
||||||
if( 0 == ftSize)
|
|
||||||
{
|
|
||||||
return 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
if( FT_IS_SCALABLE((*ftFace)))
|
|
||||||
{
|
|
||||||
return ( (*ftFace)->bbox.xMax - (*ftFace)->bbox.xMin) * ( static_cast<float>(ftSize->metrics.x_ppem) / static_cast<float>((*ftFace)->units_per_EM));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return static_cast<float>( ftSize->metrics.max_advance) / 64.0f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
float FTSize::Underline() const
|
|
||||||
{
|
|
||||||
return 0.0f;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int FTSize::XPixelsPerEm() const
|
|
||||||
{
|
|
||||||
return ftSize == 0 ? 0 : ftSize->metrics.x_ppem;
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned int FTSize::YPixelsPerEm() const
|
|
||||||
{
|
|
||||||
return ftSize == 0 ? 0 : ftSize->metrics.y_ppem;
|
|
||||||
}
|
|
||||||
|
|
||||||
87
extern/bFTGL/src/FTTextureGlyph.cpp
vendored
87
extern/bFTGL/src/FTTextureGlyph.cpp
vendored
@@ -1,87 +0,0 @@
|
|||||||
#include "FTTextureGlyph.h"
|
|
||||||
|
|
||||||
|
|
||||||
FTTextureGlyph::FTTextureGlyph( FT_GlyphSlot glyph, int id, int xOffset, int yOffset, GLsizei width, GLsizei height)
|
|
||||||
: FTGlyph( glyph),
|
|
||||||
destWidth(0),
|
|
||||||
destHeight(0),
|
|
||||||
glTextureID(id),
|
|
||||||
activeTextureID(0)
|
|
||||||
{
|
|
||||||
err = FT_Render_Glyph( glyph, FT_RENDER_MODE_NORMAL);
|
|
||||||
if( err || glyph->format != ft_glyph_format_bitmap)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
FT_Bitmap bitmap = glyph->bitmap;
|
|
||||||
|
|
||||||
destWidth = bitmap.width;
|
|
||||||
destHeight = bitmap.rows;
|
|
||||||
|
|
||||||
if( destWidth && destHeight)
|
|
||||||
{
|
|
||||||
glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT);
|
|
||||||
glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE);
|
|
||||||
glPixelStorei( GL_UNPACK_ROW_LENGTH, 0);
|
|
||||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
glBindTexture( GL_TEXTURE_2D, glTextureID);
|
|
||||||
glTexSubImage2D( GL_TEXTURE_2D, 0, xOffset, yOffset, destWidth, destHeight, GL_ALPHA, GL_UNSIGNED_BYTE, bitmap.buffer);
|
|
||||||
|
|
||||||
glPopClientAttrib();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// 0
|
|
||||||
// +----+
|
|
||||||
// | |
|
|
||||||
// | |
|
|
||||||
// | |
|
|
||||||
// +----+
|
|
||||||
// 1
|
|
||||||
|
|
||||||
uv[0].x = static_cast<float>(xOffset) / static_cast<float>(width);
|
|
||||||
uv[0].y = static_cast<float>(yOffset) / static_cast<float>(height);
|
|
||||||
uv[1].x = static_cast<float>( xOffset + destWidth) / static_cast<float>(width);
|
|
||||||
uv[1].y = static_cast<float>( yOffset + destHeight) / static_cast<float>(height);
|
|
||||||
|
|
||||||
pos.x = glyph->bitmap_left;
|
|
||||||
pos.y = glyph->bitmap_top;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTTextureGlyph::~FTTextureGlyph()
|
|
||||||
{}
|
|
||||||
|
|
||||||
#include <math.h>
|
|
||||||
|
|
||||||
float FTTextureGlyph::Render( const FTPoint& pen)
|
|
||||||
{
|
|
||||||
float dx;
|
|
||||||
|
|
||||||
glGetIntegerv( GL_TEXTURE_2D_BINDING_EXT, &activeTextureID);
|
|
||||||
if( activeTextureID != glTextureID)
|
|
||||||
{
|
|
||||||
glBindTexture( GL_TEXTURE_2D, (GLuint)glTextureID);
|
|
||||||
}
|
|
||||||
|
|
||||||
dx= floor( (pen.x + pos.x ) );
|
|
||||||
|
|
||||||
glBegin( GL_QUADS);
|
|
||||||
glTexCoord2f( uv[0].x, uv[0].y);
|
|
||||||
glVertex2f( dx, pen.y + pos.y);
|
|
||||||
|
|
||||||
glTexCoord2f( uv[0].x, uv[1].y);
|
|
||||||
glVertex2f( dx, pen.y + pos.y - destHeight);
|
|
||||||
|
|
||||||
glTexCoord2f( uv[1].x, uv[1].y);
|
|
||||||
glVertex2f( dx + destWidth, pen.y + pos.y - destHeight);
|
|
||||||
|
|
||||||
glTexCoord2f( uv[1].x, uv[0].y);
|
|
||||||
glVertex2f( dx + destWidth, pen.y + pos.y);
|
|
||||||
glEnd();
|
|
||||||
|
|
||||||
return advance;
|
|
||||||
}
|
|
||||||
|
|
||||||
229
extern/bFTGL/src/FTVectoriser.cpp
vendored
229
extern/bFTGL/src/FTVectoriser.cpp
vendored
@@ -1,229 +0,0 @@
|
|||||||
#include "FTVectoriser.h"
|
|
||||||
#include "FTGL.h"
|
|
||||||
|
|
||||||
#ifndef CALLBACK
|
|
||||||
#define CALLBACK
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(__APPLE_CC__)
|
|
||||||
#if __APPLE_CC__ >= 5465
|
|
||||||
typedef GLvoid (*GLUTesselatorFunction)();
|
|
||||||
#else
|
|
||||||
typedef GLvoid (*GLUTesselatorFunction)(...);
|
|
||||||
#endif
|
|
||||||
#elif defined( __mips ) || defined( __linux__ ) || defined( __FreeBSD__ ) || defined( __OpenBSD__ ) || defined( __sun ) || defined (__CYGWIN__)
|
|
||||||
typedef GLvoid (*GLUTesselatorFunction)();
|
|
||||||
#elif defined ( WIN32)
|
|
||||||
typedef GLvoid (CALLBACK *GLUTesselatorFunction)( );
|
|
||||||
#else
|
|
||||||
#error "Error - need to define type GLUTesselatorFunction for this platform/compiler"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
void CALLBACK ftglError( GLenum errCode, FTMesh* mesh)
|
|
||||||
{
|
|
||||||
mesh->Error( errCode);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CALLBACK ftglVertex( void* data, FTMesh* mesh)
|
|
||||||
{
|
|
||||||
FTGL_DOUBLE* vertex = static_cast<FTGL_DOUBLE*>(data);
|
|
||||||
mesh->AddPoint( vertex[0], vertex[1], vertex[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CALLBACK ftglCombine( FTGL_DOUBLE coords[3], void* vertex_data[4], GLfloat weight[4], void** outData, FTMesh* mesh)
|
|
||||||
{
|
|
||||||
FTGL_DOUBLE* vertex = static_cast<FTGL_DOUBLE*>(coords);
|
|
||||||
*outData = mesh->Combine( vertex[0], vertex[1], vertex[2]);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CALLBACK ftglBegin( GLenum type, FTMesh* mesh)
|
|
||||||
{
|
|
||||||
mesh->Begin( type);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void CALLBACK ftglEnd( FTMesh* mesh)
|
|
||||||
{
|
|
||||||
mesh->End();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTMesh::FTMesh()
|
|
||||||
: currentTesselation(0),
|
|
||||||
err(0)
|
|
||||||
{
|
|
||||||
tesselationList.reserve( 16);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTMesh::~FTMesh()
|
|
||||||
{
|
|
||||||
for( size_t t = 0; t < tesselationList.size(); ++t)
|
|
||||||
{
|
|
||||||
delete tesselationList[t];
|
|
||||||
}
|
|
||||||
|
|
||||||
tesselationList.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTMesh::AddPoint( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z)
|
|
||||||
{
|
|
||||||
currentTesselation->AddPoint( x, y, z);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTGL_DOUBLE* FTMesh::Combine( const FTGL_DOUBLE x, const FTGL_DOUBLE y, const FTGL_DOUBLE z)
|
|
||||||
{
|
|
||||||
tempPointList.push_back( FTPoint( x, y,z));
|
|
||||||
return &tempPointList.back().x;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTMesh::Begin( GLenum meshType)
|
|
||||||
{
|
|
||||||
currentTesselation = new FTTesselation( meshType);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTMesh::End()
|
|
||||||
{
|
|
||||||
tesselationList.push_back( currentTesselation);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const FTTesselation* const FTMesh::Tesselation( unsigned int index) const
|
|
||||||
{
|
|
||||||
return ( index < tesselationList.size()) ? tesselationList[index] : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTVectoriser::FTVectoriser( const FT_GlyphSlot glyph)
|
|
||||||
: contourList(0),
|
|
||||||
mesh(0),
|
|
||||||
ftContourCount(0),
|
|
||||||
contourFlag(0)
|
|
||||||
{
|
|
||||||
if( glyph)
|
|
||||||
{
|
|
||||||
outline = glyph->outline;
|
|
||||||
|
|
||||||
ftContourCount = outline.n_contours;;
|
|
||||||
contourList = 0;
|
|
||||||
contourFlag = outline.flags;
|
|
||||||
|
|
||||||
ProcessContours();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
FTVectoriser::~FTVectoriser()
|
|
||||||
{
|
|
||||||
for( size_t c = 0; c < ContourCount(); ++c)
|
|
||||||
{
|
|
||||||
delete contourList[c];
|
|
||||||
}
|
|
||||||
|
|
||||||
delete [] contourList;
|
|
||||||
delete mesh;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTVectoriser::ProcessContours()
|
|
||||||
{
|
|
||||||
short contourLength = 0;
|
|
||||||
short startIndex = 0;
|
|
||||||
short endIndex = 0;
|
|
||||||
|
|
||||||
contourList = new FTContour*[ftContourCount];
|
|
||||||
|
|
||||||
for( short contourIndex = 0; contourIndex < ftContourCount; ++contourIndex)
|
|
||||||
{
|
|
||||||
FT_Vector* pointList = &outline.points[startIndex];
|
|
||||||
char* tagList = &outline.tags[startIndex];
|
|
||||||
|
|
||||||
endIndex = outline.contours[contourIndex];
|
|
||||||
contourLength = ( endIndex - startIndex) + 1;
|
|
||||||
|
|
||||||
FTContour* contour = new FTContour( pointList, tagList, contourLength);
|
|
||||||
|
|
||||||
contourList[contourIndex] = contour;
|
|
||||||
|
|
||||||
startIndex = endIndex + 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
size_t FTVectoriser::PointCount()
|
|
||||||
{
|
|
||||||
size_t s = 0;
|
|
||||||
for( size_t c = 0; c < ContourCount(); ++c)
|
|
||||||
{
|
|
||||||
s += contourList[c]->PointCount();
|
|
||||||
}
|
|
||||||
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
const FTContour* const FTVectoriser::Contour( unsigned int index) const
|
|
||||||
{
|
|
||||||
return ( index < ContourCount()) ? contourList[index] : NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void FTVectoriser::MakeMesh( FTGL_DOUBLE zNormal)
|
|
||||||
{
|
|
||||||
if( mesh)
|
|
||||||
{
|
|
||||||
delete mesh;
|
|
||||||
}
|
|
||||||
|
|
||||||
mesh = new FTMesh;
|
|
||||||
|
|
||||||
GLUtesselator* tobj = gluNewTess();
|
|
||||||
|
|
||||||
gluTessCallback( tobj, GLU_TESS_BEGIN_DATA, (GLUTesselatorFunction)ftglBegin);
|
|
||||||
gluTessCallback( tobj, GLU_TESS_VERTEX_DATA, (GLUTesselatorFunction)ftglVertex);
|
|
||||||
gluTessCallback( tobj, GLU_TESS_COMBINE_DATA, (GLUTesselatorFunction)ftglCombine);
|
|
||||||
gluTessCallback( tobj, GLU_TESS_END_DATA, (GLUTesselatorFunction)ftglEnd);
|
|
||||||
gluTessCallback( tobj, GLU_TESS_ERROR_DATA, (GLUTesselatorFunction)ftglError);
|
|
||||||
|
|
||||||
if( contourFlag & ft_outline_even_odd_fill) // ft_outline_reverse_fill
|
|
||||||
{
|
|
||||||
gluTessProperty( tobj, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_ODD);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
gluTessProperty( tobj, GLU_TESS_WINDING_RULE, GLU_TESS_WINDING_NONZERO);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
gluTessProperty( tobj, GLU_TESS_TOLERANCE, 0);
|
|
||||||
gluTessNormal( tobj, 0.0f, 0.0f, zNormal);
|
|
||||||
gluTessBeginPolygon( tobj, mesh);
|
|
||||||
|
|
||||||
for( size_t c = 0; c < ContourCount(); ++c)
|
|
||||||
{
|
|
||||||
const FTContour* contour = contourList[c];
|
|
||||||
|
|
||||||
gluTessBeginContour( tobj);
|
|
||||||
|
|
||||||
for( size_t p = 0; p < contour->PointCount(); ++p)
|
|
||||||
{
|
|
||||||
FTGL_DOUBLE* d = const_cast<FTGL_DOUBLE*>(&contour->Point(p).x);
|
|
||||||
gluTessVertex( tobj, d, d);
|
|
||||||
}
|
|
||||||
|
|
||||||
gluTessEndContour( tobj);
|
|
||||||
}
|
|
||||||
|
|
||||||
gluTessEndPolygon( tobj);
|
|
||||||
|
|
||||||
gluDeleteTess( tobj);
|
|
||||||
}
|
|
||||||
|
|
||||||
60
extern/bFTGL/src/Makefile
vendored
60
extern/bFTGL/src/Makefile
vendored
@@ -1,60 +0,0 @@
|
|||||||
# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
|
|
||||||
# vim: tabstop=8
|
|
||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# The Original Code is: all of this file.
|
|
||||||
#
|
|
||||||
# Contributor(s): GSR
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
#
|
|
||||||
|
|
||||||
LIBNAME = ftgl
|
|
||||||
DIR = $(OCGDIR)/extern/$(LIBNAME)
|
|
||||||
|
|
||||||
CCFLAGS += $(LEVEL_1_CPP_WARNINGS)
|
|
||||||
|
|
||||||
CSRCS =
|
|
||||||
CCSRCS = FTBitmapGlyph.cpp FTCharmap.cpp FTContour.cpp FTExtrdGlyph.cpp \
|
|
||||||
FTFace.cpp FTFont.cpp FTGLBitmapFont.cpp FTGLExtrdFont.cpp \
|
|
||||||
FTGLOutlineFont.cpp FTGLPixmapFont.cpp FTGLPolygonFont.cpp \
|
|
||||||
FTGLTextureFont.cpp FTGlyph.cpp FTGlyphContainer.cpp FTLibrary.cpp \
|
|
||||||
FTOutlineGlyph.cpp FTPixmapGlyph.cpp FTPoint.cpp FTPolyGlyph.cpp \
|
|
||||||
FTSize.cpp FTTextureGlyph.cpp FTVectoriser.cpp
|
|
||||||
|
|
||||||
include nan_compile.mk
|
|
||||||
CPPFLAGS += -I../include
|
|
||||||
CPPFLAGS += -I$(NAN_FREETYPE)/include -I$(NAN_FREETYPE)/include/freetype2
|
|
||||||
CPPFLAGS += -I$(OPENGL_HEADERS)
|
|
||||||
|
|
||||||
install: $(ALL_OR_DEBUG)
|
|
||||||
@[ -d $(NAN_FTGL) ] || mkdir -p $(NAN_FTGL)
|
|
||||||
@[ -d $(NAN_FTGL)/include ] || mkdir -p $(NAN_FTGL)/include
|
|
||||||
@[ -d $(NAN_FTGL)/lib/$(DEBUG_DIR) ] || mkdir -p $(NAN_FTGL)/lib/$(DEBUG_DIR)
|
|
||||||
@$(NANBLENDERHOME)/intern/tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)lib$(LIBNAME).a $(NAN_FTGL)/lib/$(DEBUG_DIR)
|
|
||||||
ifeq ($(OS),darwin)
|
|
||||||
ranlib $(NAN_FTGL)/lib/$(DEBUG_DIR)lib$(LIBNAME).a
|
|
||||||
endif
|
|
||||||
@$(NANBLENDERHOME)/intern/tools/cpifdiff.sh ../include/*.h $(NAN_FTGL)/include/
|
|
||||||
|
|
||||||
206
extern/bFTGL/win32_vcpp/README_WIN32.txt
vendored
206
extern/bFTGL/win32_vcpp/README_WIN32.txt
vendored
@@ -1,206 +0,0 @@
|
|||||||
FTGL 1.31
|
|
||||||
|
|
||||||
NOTES FOR COMPILING ON WINDOWS
|
|
||||||
|
|
||||||
14 Feb 2002
|
|
||||||
|
|
||||||
Ellers, ellers@iinet.net.au
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
SUPPORTED COMPILERS
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
I have rebuilt the FTGL project files for Visual C++ (version 6). There are
|
|
||||||
|
|
||||||
presently no other compilers or environments supported but feel free to
|
|
||||||
|
|
||||||
contribute them.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUICK GUIDE: COMPILING FTGL
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Start up MSVC++ with ftgl.dsw.
|
|
||||||
|
|
||||||
- Tell MSVC++ where FreeType is. You'll need to do something like this:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* select Project>Settings
|
|
||||||
|
|
||||||
* select ftgl_static (for a start)
|
|
||||||
|
|
||||||
* select "All Configurations"
|
|
||||||
|
|
||||||
* go to the tab C++ > PreProcessor
|
|
||||||
|
|
||||||
* Set additional include directories appropriately. For me it is:
|
|
||||||
|
|
||||||
D:\cots\freetype-2.0.5\include
|
|
||||||
|
|
||||||
* repeat for all configurations of ftgl_dll
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUICK GUIDE: COMPILING/RUNNING SUPPLIED DEMO PROGRAM
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- The program expects the first argument to be the name of a truetype file.
|
|
||||||
|
|
||||||
I copied timesbi.ttf from the windows directory to C:\TEMP and then edit
|
|
||||||
|
|
||||||
the settings of the project:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* select Project>Settings
|
|
||||||
|
|
||||||
* select Demo project
|
|
||||||
|
|
||||||
* select panel Debug>General
|
|
||||||
|
|
||||||
* set Program Arguments to be "C:\TEMP\timesbi.ttf"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QUICK GUIDE: COMPILING YOUR PROGRAM TO USE FTGL
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- Choose dynamic or static library linkage
|
|
||||||
|
|
||||||
* if you want to link to a static FTGL library ensure that
|
|
||||||
|
|
||||||
FTGL_LIBRARY_STATIC is defined in the preprocessor section
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CONFIGURATION / CODE GENERATION / C LIBRARIES
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FTGL can be built in various configurations (inspired by Freetype and libpng):
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- static library (.lib)
|
|
||||||
|
|
||||||
- dynamic library (.dll)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MSVC++ requires selection of "code generation" option, which seems to be
|
|
||||||
|
|
||||||
mostly to do with which version of the Standard C library is linked with the
|
|
||||||
|
|
||||||
library.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
The following modes are supported:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- static/dynamic
|
|
||||||
|
|
||||||
- single threaded (ST) or multithreaded (MT)
|
|
||||||
|
|
||||||
NOTE: the multithreaded DLL (MD) mode was NOT included, as freetype itself
|
|
||||||
|
|
||||||
doesn't support that mode so I figure there's no point yet.
|
|
||||||
|
|
||||||
- debug/release (debug has _d suffix)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
So the static multithreaded release library is:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ftgl_static_MT.lib
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
The same library built in DEBUG mode:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ftgl_static_MT_d.lib
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
If you're not sure which one is appropriate (and if you're a novice don't
|
|
||||||
|
|
||||||
been too put off...) start with making the decision about debug or release.
|
|
||||||
|
|
||||||
This should be easy because if you're building the debug version of your
|
|
||||||
|
|
||||||
app its probably a good idea to link with the debug version of FTGL (but
|
|
||||||
|
|
||||||
not compulsory). Once thats done, you may get errors like:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LIBCMTD.lib(crt0init.obj) : warning LNK4098: defaultlib "libcmt.lib" conflicts with use of other libs; use /NODEFAULTLIB:library
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
This will happen, for example, when you link a glut app with an FTGL library
|
|
||||||
|
|
||||||
compiled with different codegen options than the GLUT library.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MSVC++ "sort of"
|
|
||||||
|
|
||||||
requires that all libs be linked with the same codegen option. GLUT is built
|
|
||||||
|
|
||||||
in XXX mode, so if you're linking with GLUT, you can get rid of the warning
|
|
||||||
|
|
||||||
by linking with the XXX version of FTGL. The various versions are particularly
|
|
||||||
|
|
||||||
useful if you're doing std C stuff, like printf etc.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FAQ
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Q: "But... do I HAVE to use all these DIFFERENT build modes, like multi-
|
|
||||||
|
|
||||||
threaded, debug single threaded, etc?"
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
A: No. Sometimes library makers only generate one style anyway. It depends
|
|
||||||
|
|
||||||
on your needs. Unless you're linking with standard C stuff (e.g. printf)
|
|
||||||
|
|
||||||
then it probably won't make a great deal of difference. If you get
|
|
||||||
|
|
||||||
warnings about "default lib libcmt.lib conflicts" etc, then you can make
|
|
||||||
|
|
||||||
use of the different libraries.
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
92
extern/bFTGL/win32_vcpp/ftgl.dsw
vendored
92
extern/bFTGL/win32_vcpp/ftgl.dsw
vendored
@@ -1,92 +0,0 @@
|
|||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "ftgl_demo"=".\ftgl_demo\ftgl_demo.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name ftgl_dll
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name ftgl_static_lib
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "ftgl_demo_2"=".\ftgl_demo\ftgl_demo_2.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name ftgl_dll
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name ftgl_static_lib
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "ftgl_dll"=".\ftgl_dll\ftgl_dll.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "ftgl_static_lib"=".\ftgl_static_lib\ftgl_static_lib.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Project: "unit_tests"=".\unit_tests\unit_tests.dsp" - Package Owner=<4>
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<4>
|
|
||||||
{{{
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name ftgl_static_lib
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
Global:
|
|
||||||
|
|
||||||
Package=<5>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
Package=<3>
|
|
||||||
{{{
|
|
||||||
}}}
|
|
||||||
|
|
||||||
###############################################################################
|
|
||||||
|
|
||||||
357
extern/bFTGL/win32_vcpp/ftgl_dll/ftgl_dll.dsp
vendored
357
extern/bFTGL/win32_vcpp/ftgl_dll/ftgl_dll.dsp
vendored
@@ -1,357 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="ftgl_dll" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
|
|
||||||
|
|
||||||
CFG=ftgl_dll - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "ftgl_dll.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "ftgl_dll.mak" CFG="ftgl_dll - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "ftgl_dll - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "ftgl_dll - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "ftgl_dll - Win32 Release MT" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE "ftgl_dll - Win32 Debug MT" (based on "Win32 (x86) Dynamic-Link Library")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
MTL=midl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "ftgl_dll - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release_ST"
|
|
||||||
# PROP BASE Intermediate_Dir "Release_ST"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "../Build"
|
|
||||||
# PROP Intermediate_Dir "Release_ST"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir "../Build"
|
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_DLL_EXPORTS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_LIBRARY" /YX /FD /c
|
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib freetype204.lib /nologo /dll /machine:I386 /out:"../Build/ftgl_dynamic_MT.dll" /libpath:"D:\cots\freetype-2.0.5\objs"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ftgl_dll - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug_ST"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug_ST"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "../Build"
|
|
||||||
# PROP Intermediate_Dir "Debug_ST"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir "../Build"
|
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_DLL_EXPORTS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_LIBRARY" /YX /FD /GZ /c
|
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib freetype204_D.lib /nologo /dll /pdb:"Debug_ST/ftgl_dynamic_ST_d.pdb" /debug /machine:I386 /out:"../Build/ftgl_dynamic_MT_d.dll" /pdbtype:sept /libpath:"D:\cots\freetype-2.0.5\objs"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ftgl_dll - Win32 Release MT"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release_MT"
|
|
||||||
# PROP BASE Intermediate_Dir "Release_MT"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "../Build"
|
|
||||||
# PROP Intermediate_Dir "Release_MT"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir "../Build"
|
|
||||||
# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_DLL_EXPORTS" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_LIBRARY" /YX /FD /c
|
|
||||||
# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib freetype204MT.lib /nologo /dll /machine:I386 /out:"../Build/ftgl_dynamic_MTD.dll" /libpath:"D:\cots\freetype-2.0.5\objs"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ftgl_dll - Win32 Debug MT"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug_MT"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug_MT"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "../Build"
|
|
||||||
# PROP Intermediate_Dir "Debug_MT"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir "../Build"
|
|
||||||
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_DLL_EXPORTS" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "FTGL_LIBRARY" /YX /FD /GZ /c
|
|
||||||
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib freetype204MT_D.lib /nologo /dll /pdb:"Debug_ST/ftgl_dynamic_MT_d.pdb" /debug /machine:I386 /out:"../Build/ftgl_dynamic_MTD_d.dll" /pdbtype:sept /libpath:"D:\cots\freetype-2.0.5\objs"
|
|
||||||
# SUBTRACT LINK32 /pdb:none
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "ftgl_dll - Win32 Release"
|
|
||||||
# Name "ftgl_dll - Win32 Debug"
|
|
||||||
# Name "ftgl_dll - Win32 Release MT"
|
|
||||||
# Name "ftgl_dll - Win32 Debug MT"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTBitmapGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTCharmap.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTContour.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTExtrdGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTFace.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLBitmapFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLExtrdFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLOutlineFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLPixmapFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLPolygonFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLTextureFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGlyphContainer.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTLibrary.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTOutlineGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTPixmapGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTPoint.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTPolyGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTSize.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTTextureGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTVectoriser.cpp
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTBBox.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTBitmapGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTCharmap.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTCharToGlyphIndexMap.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTContour.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTExtrdGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTFace.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGL.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLBitmapFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLExtrdFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLOutlineFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLPixmapFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLPolygonFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLTextureFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGlyphContainer.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTLibrary.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTList.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTOutlineGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTPixmapGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTPoint.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTPolyGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTSize.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTTextureGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTVector.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTVectoriser.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Resource Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
||||||
@@ -1,342 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="ftgl_static_lib" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
|
||||||
|
|
||||||
CFG=ftgl_static_lib - Win32 Debug MT
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "ftgl_static_lib.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "ftgl_static_lib.mak" CFG="ftgl_static_lib - Win32 Debug MT"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "ftgl_static_lib - Win32 Release" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "ftgl_static_lib - Win32 Debug" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "ftgl_static_lib - Win32 Debug MT" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE "ftgl_static_lib - Win32 Release MT" (based on "Win32 (x86) Static Library")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "ftgl_static_lib - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release_ST"
|
|
||||||
# PROP BASE Intermediate_Dir "Release_ST"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release_ST"
|
|
||||||
# PROP Intermediate_Dir "Release_ST"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\..\..\..\lib\windows\freetype\include" /I "..\..\include" /I "..\..\..\..\..\lib\windows\freetype\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FTGL_LIBRARY_STATIC" /YX /FD /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo /out:"..\Build\ftgl_static_ST.lib"
|
|
||||||
# Begin Special Build Tool
|
|
||||||
SOURCE="$(InputPath)"
|
|
||||||
PostBuild_Cmds=ECHO Copying lib to lib\windows\ftgl\lib XCOPY /Y ..\Build\*lib ..\..\..\..\..\lib\windows\ftgl\lib
|
|
||||||
# End Special Build Tool
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ftgl_static_lib - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug_ST"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug_ST"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug_ST"
|
|
||||||
# PROP Intermediate_Dir "Debug_ST"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FTGL_LIBRARY_STATIC" /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo /out:"..\Build\ftgl_static_MT_d.lib"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ftgl_static_lib - Win32 Debug MT"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug_MT"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug_MT"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug_MT"
|
|
||||||
# PROP Intermediate_Dir "Debug_MT"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /I "D:\cots\freetype-2.0.5\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FTGL_LIBRARY_STATIC" /YX /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FTGL_LIBRARY_STATIC" /YX /FD /GZ /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo /out:"..\Build\ftgl_static_MTD_d.lib"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "ftgl_static_lib - Win32 Release MT"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release_MT"
|
|
||||||
# PROP BASE Intermediate_Dir "Release_MT"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release_MT"
|
|
||||||
# PROP Intermediate_Dir "Release_MT"
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FTGL_LIBRARY_STATIC" /YX /FD /c
|
|
||||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "D:\cots\freetype-2.0.5\include" /I "..\..\include" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "FTGL_LIBRARY_STATIC" /YX /FD /c
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LIB32=link.exe -lib
|
|
||||||
# ADD BASE LIB32 /nologo
|
|
||||||
# ADD LIB32 /nologo /out:"..\Build\ftgl_static_MTD.lib"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "ftgl_static_lib - Win32 Release"
|
|
||||||
# Name "ftgl_static_lib - Win32 Debug"
|
|
||||||
# Name "ftgl_static_lib - Win32 Debug MT"
|
|
||||||
# Name "ftgl_static_lib - Win32 Release MT"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTBitmapGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTCharmap.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTContour.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTExtrdGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTFace.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLBitmapFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLExtrdFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLOutlineFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLPixmapFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLPolygonFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGLTextureFont.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTGlyphContainer.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTLibrary.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTOutlineGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTPixmapGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTPoint.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTPolyGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTSize.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTTextureGlyph.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\src\FTVectoriser.cpp
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTBBox.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTBitmapGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTCharmap.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTCharToGlyphIndexMap.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTContour.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTExtrdGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTFace.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGL.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLBitmapFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLExtrdFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLOutlineFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLPixmapFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLPolygonFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGLTextureFont.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTGlyphContainer.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTLibrary.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTList.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTOutlineGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTPixmapGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTPoint.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTPolyGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTSize.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTTextureGlyph.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTVector.h
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\include\FTVectoriser.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
||||||
168
extern/bFTGL/win32_vcpp/unit_tests/unit_tests.dsp
vendored
168
extern/bFTGL/win32_vcpp/unit_tests/unit_tests.dsp
vendored
@@ -1,168 +0,0 @@
|
|||||||
# Microsoft Developer Studio Project File - Name="unit_tests" - Package Owner=<4>
|
|
||||||
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
|
||||||
# ** DO NOT EDIT **
|
|
||||||
|
|
||||||
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
|
||||||
|
|
||||||
CFG=unit_tests - Win32 Debug
|
|
||||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
|
||||||
!MESSAGE use the Export Makefile command and run
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "unit_tests.mak".
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE You can specify a configuration when running NMAKE
|
|
||||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE NMAKE /f "unit_tests.mak" CFG="unit_tests - Win32 Debug"
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE Possible choices for configuration are:
|
|
||||||
!MESSAGE
|
|
||||||
!MESSAGE "unit_tests - Win32 Release" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE "unit_tests - Win32 Debug" (based on "Win32 (x86) Console Application")
|
|
||||||
!MESSAGE
|
|
||||||
|
|
||||||
# Begin Project
|
|
||||||
# PROP AllowPerConfigDependencies 0
|
|
||||||
# PROP Scc_ProjName ""
|
|
||||||
# PROP Scc_LocalPath ""
|
|
||||||
CPP=cl.exe
|
|
||||||
RSC=rc.exe
|
|
||||||
|
|
||||||
!IF "$(CFG)" == "unit_tests - Win32 Release"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 0
|
|
||||||
# PROP BASE Output_Dir "Release"
|
|
||||||
# PROP BASE Intermediate_Dir "Release"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 0
|
|
||||||
# PROP Output_Dir "Release"
|
|
||||||
# PROP Intermediate_Dir "Release"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /c
|
|
||||||
# ADD CPP /nologo /MD /W3 /GX /O2 /I "$(MIC_COTS_CPPUNIT_DIR)/include" /I "../../include" /I "../../extras" /I "D:\cots\freetype-2.0.5\include" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "FTGL_LIBRARY_STATIC" /FD /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "NDEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386
|
|
||||||
# ADD LINK32 freetype204MT.lib ftgl_static_MT.lib cppunit.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib /nologo /subsystem:console /machine:I386 /libpath:"..\Build" /libpath:"D:\cots\freetype-2.0.5\objs" /libpath:"D:\cots\cppunit-1.9.8\lib"
|
|
||||||
|
|
||||||
!ELSEIF "$(CFG)" == "unit_tests - Win32 Debug"
|
|
||||||
|
|
||||||
# PROP BASE Use_MFC 0
|
|
||||||
# PROP BASE Use_Debug_Libraries 1
|
|
||||||
# PROP BASE Output_Dir "Debug"
|
|
||||||
# PROP BASE Intermediate_Dir "Debug"
|
|
||||||
# PROP BASE Target_Dir ""
|
|
||||||
# PROP Use_MFC 0
|
|
||||||
# PROP Use_Debug_Libraries 1
|
|
||||||
# PROP Output_Dir "Debug"
|
|
||||||
# PROP Intermediate_Dir "Debug"
|
|
||||||
# PROP Ignore_Export_Lib 0
|
|
||||||
# PROP Target_Dir ""
|
|
||||||
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Yu"stdafx.h" /FD /GZ /c
|
|
||||||
# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(MIC_COTS_CPPUNIT_DIR)/include" /I "../../include" /I "../../extras" /I "D:\cots\freetype-2.0.5\include" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "FTGL_LIBRARY_STATIC" /FD /GZ /c
|
|
||||||
# SUBTRACT CPP /YX /Yc /Yu
|
|
||||||
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
|
||||||
# ADD RSC /l 0x409 /d "_DEBUG"
|
|
||||||
BSC32=bscmake.exe
|
|
||||||
# ADD BASE BSC32 /nologo
|
|
||||||
# ADD BSC32 /nologo
|
|
||||||
LINK32=link.exe
|
|
||||||
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
|
||||||
# ADD LINK32 freetype204MT_D.lib ftgl_static_MT_d.lib cppunitd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib opengl32.lib glu32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept /libpath:"..\Build" /libpath:"D:\cots\freetype-2.0.5\objs" /libpath:"D:\cots\cppunit-1.9.8\lib"
|
|
||||||
|
|
||||||
!ENDIF
|
|
||||||
|
|
||||||
# Begin Target
|
|
||||||
|
|
||||||
# Name "unit_tests - Win32 Release"
|
|
||||||
# Name "unit_tests - Win32 Debug"
|
|
||||||
# Begin Group "Source Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTBBox-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTCharmap-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTContour-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTFace-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTFont-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTGlyphContainer-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTLibrary-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTList-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTMesh-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTPoint-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTSize-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTTesselation-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTVector-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE="..\..\test\FTVectoriser-Test.cpp"
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\test\HPGCalc_afm.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\test\HPGCalc_pfb.cpp
|
|
||||||
# End Source File
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\test\TestMain.cpp
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# Begin Group "Header Files"
|
|
||||||
|
|
||||||
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
|
||||||
# Begin Source File
|
|
||||||
|
|
||||||
SOURCE=..\..\test\Fontdefs.h
|
|
||||||
# End Source File
|
|
||||||
# End Group
|
|
||||||
# End Target
|
|
||||||
# End Project
|
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
#
|
#
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
# ***** END GPL LICENSE BLOCK *****
|
||||||
|
|
||||||
SUBDIRS(SoundSystem string ghost guardedalloc bmfont moto container memutil decimation iksolver boolop opennl)
|
SUBDIRS(SoundSystem string ghost guardedalloc moto container memutil decimation iksolver boolop opennl)
|
||||||
|
|
||||||
IF(WITH_ELBEEM)
|
IF(WITH_ELBEEM)
|
||||||
SUBDIRS(elbeem)
|
SUBDIRS(elbeem)
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ SOURCEDIR = intern
|
|||||||
|
|
||||||
# include nan_subdirs.mk
|
# include nan_subdirs.mk
|
||||||
|
|
||||||
ALLDIRS = string ghost guardedalloc bmfont moto container memutil
|
ALLDIRS = string ghost guardedalloc moto container memutil
|
||||||
ALLDIRS += decimation iksolver bsp SoundSystem opennl elbeem boolop
|
ALLDIRS += decimation iksolver bsp SoundSystem opennl elbeem boolop
|
||||||
|
|
||||||
all::
|
all::
|
||||||
|
|||||||
@@ -5,7 +5,6 @@ SConscript(['SoundSystem/SConscript',
|
|||||||
'string/SConscript',
|
'string/SConscript',
|
||||||
'ghost/SConscript',
|
'ghost/SConscript',
|
||||||
'guardedalloc/SConscript',
|
'guardedalloc/SConscript',
|
||||||
'bmfont/SConscript',
|
|
||||||
'moto/SConscript',
|
'moto/SConscript',
|
||||||
'container/SConscript',
|
'container/SConscript',
|
||||||
'memutil/SConscript/',
|
'memutil/SConscript/',
|
||||||
|
|||||||
@@ -1,162 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
*
|
|
||||||
* API of the OpenGL bitmap font library.
|
|
||||||
* Currently draws fonts using the glBitmap routine.
|
|
||||||
* This implies that drawing speed is heavyly dependant on
|
|
||||||
* the 2D capabilities of the graphics card.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BMF_API_H
|
|
||||||
#define __BMF_API_H
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_Fonts.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the font for a given font type.
|
|
||||||
* @param font The font to retrieve.
|
|
||||||
* @return The font (or nil if not found).
|
|
||||||
*/
|
|
||||||
BMF_Font* BMF_GetFont(BMF_FontType font);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draws a character at the current raster position.
|
|
||||||
* @param font The font to use.
|
|
||||||
* @param c The character to draw.
|
|
||||||
* @return Indication of success (0 == error).
|
|
||||||
*/
|
|
||||||
int BMF_DrawCharacter(BMF_Font* font, char c);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draws a string at the current raster position.
|
|
||||||
* @param font The font to use.
|
|
||||||
* @param str The string to draw.
|
|
||||||
* @return Indication of success (0 == error).
|
|
||||||
*/
|
|
||||||
int BMF_DrawString(BMF_Font* font, char* str);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the width of a character in pixels.
|
|
||||||
* @param font The font to use.
|
|
||||||
* @param c The character.
|
|
||||||
* @return The length.
|
|
||||||
*/
|
|
||||||
int BMF_GetCharacterWidth(BMF_Font* font, char c);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the width of a string of characters.
|
|
||||||
* @param font The font to use.
|
|
||||||
* @param str The string.
|
|
||||||
* @return The length.
|
|
||||||
*/
|
|
||||||
int BMF_GetStringWidth(BMF_Font* font, char* str);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the bounding box of a string of characters.
|
|
||||||
* @param font The font to use.
|
|
||||||
* @param str The string.
|
|
||||||
* @param llx Lower left x coord
|
|
||||||
* @param lly Lower left y coord
|
|
||||||
* @param urx Upper right x coord
|
|
||||||
* @param ury Upper right y coord
|
|
||||||
*/
|
|
||||||
void BMF_GetStringBoundingBox(BMF_Font* font, char* str, float*llx, float *lly, float *urx, float *ury);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the bounding box of the font. The width and
|
|
||||||
* height represent the bounding box of the union of
|
|
||||||
* all glyps. The minimum and maximum values of the
|
|
||||||
* box represent the extent of the font and its positioning
|
|
||||||
* about the origin.
|
|
||||||
*/
|
|
||||||
void BMF_GetFontBoundingBox(BMF_Font* font, int *xmin_r, int *ymin_r, int *xmax_r, int *ymax_r);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Same as GetFontBoundingBox but only returns the height
|
|
||||||
*/
|
|
||||||
int BMF_GetFontHeight(BMF_Font* font);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert the given @a font to a texture, and return the GL texture
|
|
||||||
* ID of the texture. If the texture ID is bound, text can
|
|
||||||
* be drawn using the texture by calling DrawStringTexture.
|
|
||||||
*
|
|
||||||
* @param font The font to create the texture from.
|
|
||||||
* @return The GL texture ID of the new texture, or -1 if unable
|
|
||||||
* to create.
|
|
||||||
*/
|
|
||||||
int BMF_GetFontTexture(BMF_Font* font);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draw the given @a str at the point @a x, @a y, @a z, using
|
|
||||||
* texture coordinates. This assumes that an appropriate texture
|
|
||||||
* has been bound, see BMF_BitmapFont::GetTexture(). The string
|
|
||||||
* is drawn along the positive X axis.
|
|
||||||
*
|
|
||||||
* @param font The font to draw with.
|
|
||||||
* @param string The c-string to draw.
|
|
||||||
* @param x The x coordinate to start drawing at.
|
|
||||||
* @param y The y coordinate to start drawing at.
|
|
||||||
* @param z The z coordinate to start drawing at.
|
|
||||||
*/
|
|
||||||
void BMF_DrawStringTexture(BMF_Font* font, char* string, float x, float y, float z);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draw the given @a string at the point @a xpos, @a ypos using
|
|
||||||
* char and float buffers.
|
|
||||||
*
|
|
||||||
* @param string The c-string to draw.
|
|
||||||
* @param xpos The x coordinate to start drawing at.
|
|
||||||
* @param ypos The y coordinate to start drawing at.
|
|
||||||
* @param fgcol The forground color.
|
|
||||||
* @param bgcol The background color.
|
|
||||||
* @param buf Unsigned char image buffer, when NULL to not operate on it.
|
|
||||||
* @param fbuf float image buffer, when NULL to not operate on it.
|
|
||||||
* @param w image buffer width.
|
|
||||||
* @param h image buffer height.
|
|
||||||
* @param channels number of channels in the image (3 or 4 - currently)
|
|
||||||
*/
|
|
||||||
void BMF_DrawStringBuf(BMF_Font* font, char *str, int posx, int posy, float *col, unsigned char *buf, float *fbuf, int w, int h, int channels);
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif /* __BMF_API_H */
|
|
||||||
|
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
* Defines the names of the fonts in the library.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BMF_FONTS_H
|
|
||||||
#define __BMF_FONTS_H
|
|
||||||
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
BMF_kHelvetica10 = 0,
|
|
||||||
#if BMF_INCLUDE_HELV12
|
|
||||||
BMF_kHelvetica12,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_HELVB8
|
|
||||||
BMF_kHelveticaBold8,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_HELVB10
|
|
||||||
BMF_kHelveticaBold10,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_HELVB12
|
|
||||||
BMF_kHelveticaBold12,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_HELVB14
|
|
||||||
BMF_kHelveticaBold14,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_SCR12
|
|
||||||
BMF_kScreen12,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_SCR14
|
|
||||||
BMF_kScreen14,
|
|
||||||
#endif
|
|
||||||
#if BMF_INCLUDE_SCR15
|
|
||||||
BMF_kScreen15,
|
|
||||||
#endif
|
|
||||||
BMF_kNumFonts
|
|
||||||
} BMF_FontType;
|
|
||||||
|
|
||||||
typedef struct BMF_Font BMF_Font;
|
|
||||||
|
|
||||||
#endif /* __BMF_FONTS_H */
|
|
||||||
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
* Allows you to determine which fonts to include in the library.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BMF_SETTINGS_H
|
|
||||||
#define __BMF_SETTINGS_H
|
|
||||||
|
|
||||||
/* This font is included always */
|
|
||||||
#define BMF_INCLUDE_HELV10 1
|
|
||||||
|
|
||||||
#ifndef BMF_MINIMAL
|
|
||||||
|
|
||||||
/* These fonts are included with the minimal setting defined */
|
|
||||||
#define BMF_INCLUDE_HELV12 1
|
|
||||||
#define BMF_INCLUDE_HELVB8 1
|
|
||||||
#define BMF_INCLUDE_HELVB10 1
|
|
||||||
#define BMF_INCLUDE_HELVB12 1
|
|
||||||
#define BMF_INCLUDE_HELVB14 1
|
|
||||||
#define BMF_INCLUDE_SCR12 1
|
|
||||||
#define BMF_INCLUDE_SCR14 1
|
|
||||||
#define BMF_INCLUDE_SCR15 1
|
|
||||||
|
|
||||||
#else /* BMF_MINIMAL */
|
|
||||||
#define BMF_INCLUDE_HELV12 0
|
|
||||||
#define BMF_INCLUDE_HELVB8 0
|
|
||||||
#define BMF_INCLUDE_HELVB10 0
|
|
||||||
#define BMF_INCLUDE_HELVB12 0
|
|
||||||
#define BMF_INCLUDE_HELVB14 0
|
|
||||||
#define BMF_INCLUDE_SCR12 0
|
|
||||||
#define BMF_INCLUDE_SCR14 0
|
|
||||||
#define BMF_INCLUDE_SCR15 0
|
|
||||||
|
|
||||||
#endif /* BMF_MINIMAL */
|
|
||||||
|
|
||||||
#endif /* __BMF_SETTINGS_H */
|
|
||||||
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
# $Id$
|
|
||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# The Original Code is Copyright (C) 2006, Blender Foundation
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# The Original Code is: all of this file.
|
|
||||||
#
|
|
||||||
# Contributor(s): Jacques Beaurain.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
|
|
||||||
SET(INC . intern)
|
|
||||||
|
|
||||||
FILE(GLOB SRC intern/*.cpp)
|
|
||||||
|
|
||||||
BLENDERLIB(bf_bmfont "${SRC}" "${INC}")
|
|
||||||
#, libtype=['intern','player'], priority = [20, 185] )
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
# -*- mode: gnumakefile; tab-width: 8; indent-tabs-mode: t; -*-
|
|
||||||
# vim: tabstop=8
|
|
||||||
#
|
|
||||||
# $Id$
|
|
||||||
#
|
|
||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
# All rights reserved.
|
|
||||||
#
|
|
||||||
# The Original Code is: all of this file.
|
|
||||||
#
|
|
||||||
# Contributor(s): Hans Lambermont, GSR
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENSE BLOCK *****
|
|
||||||
# bmfont main makefile.
|
|
||||||
#
|
|
||||||
|
|
||||||
include nan_definitions.mk
|
|
||||||
|
|
||||||
LIBNAME = bmfont
|
|
||||||
SOURCEDIR = intern/$(LIBNAME)
|
|
||||||
DIR = $(OCGDIR)/$(SOURCEDIR)
|
|
||||||
DIRS = intern
|
|
||||||
#not ready yet TESTDIRS = test
|
|
||||||
|
|
||||||
include nan_subdirs.mk
|
|
||||||
|
|
||||||
install: $(ALL_OR_DEBUG)
|
|
||||||
@[ -d $(NAN_BMFONT) ] || mkdir $(NAN_BMFONT)
|
|
||||||
@[ -d $(NAN_BMFONT)/include ] || mkdir $(NAN_BMFONT)/include
|
|
||||||
@[ -d $(NAN_BMFONT)/lib/$(DEBUG_DIR) ] || mkdir $(NAN_BMFONT)/lib/$(DEBUG_DIR)
|
|
||||||
@../tools/cpifdiff.sh $(DIR)/$(DEBUG_DIR)libbmfont.a $(NAN_BMFONT)/lib/$(DEBUG_DIR)
|
|
||||||
ifeq ($(OS),darwin)
|
|
||||||
ranlib $(NAN_BMFONT)/lib/$(DEBUG_DIR)libbmfont.a
|
|
||||||
endif
|
|
||||||
@../tools/cpifdiff.sh *.h $(NAN_BMFONT)/include/
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
Import ('env')
|
|
||||||
|
|
||||||
sources = env.Glob('intern/*.cpp')
|
|
||||||
|
|
||||||
incs = '. intern'
|
|
||||||
incs += ' ' + env['BF_OPENGL_INC']
|
|
||||||
defs = ''
|
|
||||||
|
|
||||||
env.BlenderLib ('bf_bmfont', sources, Split(incs), Split(defs), libtype=['intern','player'], priority = [20, 185] )
|
|
||||||
@@ -1,177 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
|
|
||||||
# ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
#
|
|
||||||
# This program is free software; you can redistribute it and/or
|
|
||||||
# modify it under the terms of the GNU General Public License
|
|
||||||
# as published by the Free Software Foundation; either version 2
|
|
||||||
# of the License, or (at your option) any later version.
|
|
||||||
#
|
|
||||||
# This program is distributed in the hope that it will be useful,
|
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
# GNU General Public License for more details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License
|
|
||||||
# along with this program; if not, write to the Free Software Foundation,
|
|
||||||
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#
|
|
||||||
# ***** END GPL LICENCE BLOCK *****
|
|
||||||
# --------------------------------------------------------------------------
|
|
||||||
|
|
||||||
HELP_TXT = \
|
|
||||||
'''
|
|
||||||
Convert BDF pixmap fonts into C++ files Blender can read.
|
|
||||||
Use to replace bitmap fonts or add new ones.
|
|
||||||
|
|
||||||
Usage
|
|
||||||
python bdf2bmf.py -name=SomeName myfile.bdf
|
|
||||||
|
|
||||||
Blender currently supports fonts with a maximum width of 8 pixels.
|
|
||||||
'''
|
|
||||||
|
|
||||||
# -------- Simple BDF parser
|
|
||||||
import sys
|
|
||||||
def parse_bdf(f, MAX_CHARS=256):
|
|
||||||
lines = [l.strip().upper().split() for l in f.readlines()]
|
|
||||||
|
|
||||||
is_bitmap = False
|
|
||||||
dummy = {'BITMAP':[]}
|
|
||||||
char_data = [dummy.copy() for i in xrange(MAX_CHARS)]
|
|
||||||
context_bitmap = []
|
|
||||||
|
|
||||||
for l in lines:
|
|
||||||
if l[0]=='ENCODING': enc = int(l[1])
|
|
||||||
elif l[0]=='BBX': bbx = [int(c) for c in l[1:]]
|
|
||||||
elif l[0]=='DWIDTH': dwidth = int(l[1])
|
|
||||||
elif l[0]=='BITMAP': is_bitmap = True
|
|
||||||
elif l[0]=='ENDCHAR':
|
|
||||||
if enc < MAX_CHARS:
|
|
||||||
char_data[enc]['BBX'] = bbx
|
|
||||||
char_data[enc]['DWIDTH'] = dwidth
|
|
||||||
char_data[enc]['BITMAP'] = context_bitmap
|
|
||||||
|
|
||||||
context_bitmap = []
|
|
||||||
enc = bbx = None
|
|
||||||
is_bitmap = False
|
|
||||||
else:
|
|
||||||
# None of the above, Ok, were reading a bitmap
|
|
||||||
if is_bitmap and enc < MAX_CHARS:
|
|
||||||
context_bitmap.append( int(l[0], 16) )
|
|
||||||
|
|
||||||
return char_data
|
|
||||||
# -------- end simple BDF parser
|
|
||||||
|
|
||||||
def bdf2cpp_name(path):
|
|
||||||
return path.split('.')[0] + '.cpp'
|
|
||||||
|
|
||||||
def convert_to_blender(bdf_dict, font_name, origfilename, MAX_CHARS=256):
|
|
||||||
|
|
||||||
# first get a global width/height, also set the offsets
|
|
||||||
xmin = ymin = 10000000
|
|
||||||
xmax = ymax = -10000000
|
|
||||||
|
|
||||||
bitmap_offsets = [-1] * MAX_CHARS
|
|
||||||
bitmap_tot = 0
|
|
||||||
for i, c in enumerate(bdf_dict):
|
|
||||||
if c.has_key('BBX'):
|
|
||||||
bbx = c['BBX']
|
|
||||||
xmax = max(bbx[0], xmax)
|
|
||||||
ymax = max(bbx[1], ymax)
|
|
||||||
xmin = min(bbx[2], xmin)
|
|
||||||
ymin = min(bbx[3], ymin)
|
|
||||||
|
|
||||||
bitmap_offsets[i] = bitmap_tot
|
|
||||||
bitmap_tot += len(c['BITMAP'])
|
|
||||||
|
|
||||||
c['BITMAP'].reverse()
|
|
||||||
|
|
||||||
# Now we can write. Ok if we have no .'s in the path.
|
|
||||||
f = open(bdf2cpp_name(origfilename), 'w')
|
|
||||||
|
|
||||||
f.write('''
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
''')
|
|
||||||
|
|
||||||
f.write('#if BMF_INCLUDE_%s\n\n' % font_name.upper())
|
|
||||||
f.write('static unsigned char bitmap_data[]= {')
|
|
||||||
newline = 8
|
|
||||||
|
|
||||||
for i, c in enumerate(bdf_dict):
|
|
||||||
|
|
||||||
for cdata in c['BITMAP']:
|
|
||||||
# Just formatting
|
|
||||||
newline+=1
|
|
||||||
if newline >= 8:
|
|
||||||
newline = 0
|
|
||||||
f.write('\n\t')
|
|
||||||
# End formatting
|
|
||||||
|
|
||||||
f.write('0x%.2hx,' % cdata) # 0x80 <- format
|
|
||||||
|
|
||||||
f.write("\n};\n")
|
|
||||||
|
|
||||||
f.write("BMF_FontData BMF_font_%s = {\n" % font_name)
|
|
||||||
f.write('\t%d, %d,\n' % (xmin, ymin))
|
|
||||||
f.write('\t%d, %d,\n' % (xmax, ymax))
|
|
||||||
|
|
||||||
f.write('\t{\n')
|
|
||||||
|
|
||||||
|
|
||||||
for i, c in enumerate(bdf_dict):
|
|
||||||
if bitmap_offsets[i] == -1 or c.has_key('BBX') == False:
|
|
||||||
f.write('\t\t{0,0,0,0,0, -1},\n')
|
|
||||||
else:
|
|
||||||
bbx = c['BBX']
|
|
||||||
f.write('\t\t{%d,%d,%d,%d,%d, %d},\n' % (bbx[0], bbx[1], -bbx[2], -bbx[3], c['DWIDTH'], bitmap_offsets[i]))
|
|
||||||
|
|
||||||
f.write('''
|
|
||||||
},
|
|
||||||
bitmap_data
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
''')
|
|
||||||
|
|
||||||
def main():
|
|
||||||
# replace "[-name=foo]" with "[-name] [foo]"
|
|
||||||
args = []
|
|
||||||
for arg in sys.argv:
|
|
||||||
for a in arg.replace('=', ' ').split():
|
|
||||||
args.append(a)
|
|
||||||
|
|
||||||
name = 'untitled'
|
|
||||||
done_anything = False
|
|
||||||
for i, arg in enumerate(args):
|
|
||||||
if arg == '-name':
|
|
||||||
if i==len(args)-1:
|
|
||||||
print 'no arg given for -name, aborting'
|
|
||||||
return
|
|
||||||
else:
|
|
||||||
name = args[i+1]
|
|
||||||
|
|
||||||
elif arg.lower().endswith('.bdf'):
|
|
||||||
try:
|
|
||||||
f = open(arg)
|
|
||||||
print '...Writing to:', bdf2cpp_name(arg)
|
|
||||||
except:
|
|
||||||
print 'could not open "%s", aborting' % arg
|
|
||||||
|
|
||||||
|
|
||||||
bdf_dict = parse_bdf(f)
|
|
||||||
convert_to_blender(bdf_dict, name, arg)
|
|
||||||
done_anything = True
|
|
||||||
|
|
||||||
if not done_anything:
|
|
||||||
print HELP_TXT
|
|
||||||
print '...nothing to do'
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
||||||
|
|
||||||
@@ -1,183 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
*
|
|
||||||
* Implementation of the API of the OpenGL bitmap font library.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_Api.h"
|
|
||||||
|
|
||||||
#include "BMF_BitmapFont.h"
|
|
||||||
|
|
||||||
|
|
||||||
#if BMF_INCLUDE_HELV10
|
|
||||||
extern BMF_FontData BMF_font_helv10;
|
|
||||||
static BMF_BitmapFont bmfHelv10(&BMF_font_helv10);
|
|
||||||
#endif // BMF_INCLUDE_HELV10
|
|
||||||
#if BMF_INCLUDE_HELV12
|
|
||||||
extern BMF_FontData BMF_font_helv12;
|
|
||||||
static BMF_BitmapFont bmfHelv12(&BMF_font_helv12);
|
|
||||||
#endif // BMF_INCLUDE_HELV12
|
|
||||||
#if BMF_INCLUDE_HELVB8
|
|
||||||
extern BMF_FontData BMF_font_helvb8;
|
|
||||||
static BMF_BitmapFont bmfHelvb8(&BMF_font_helvb8);
|
|
||||||
#endif // BMF_INCLUDE_HELVB8
|
|
||||||
#if BMF_INCLUDE_HELVB10
|
|
||||||
extern BMF_FontData BMF_font_helvb10;
|
|
||||||
static BMF_BitmapFont bmfHelvb10(&BMF_font_helvb10);
|
|
||||||
#endif // BMF_INCLUDE_HELVB10
|
|
||||||
#if BMF_INCLUDE_HELVB12
|
|
||||||
extern BMF_FontData BMF_font_helvb12;
|
|
||||||
static BMF_BitmapFont bmfHelvb12(&BMF_font_helvb12);
|
|
||||||
#endif // BMF_INCLUDE_HELVB12
|
|
||||||
#if BMF_INCLUDE_HELVB14
|
|
||||||
extern BMF_FontData BMF_font_helvb14;
|
|
||||||
static BMF_BitmapFont bmfHelvb14(&BMF_font_helvb14);
|
|
||||||
#endif // BMF_INCLUDE_HELVB14
|
|
||||||
#if BMF_INCLUDE_SCR12
|
|
||||||
extern BMF_FontData BMF_font_scr12;
|
|
||||||
static BMF_BitmapFont bmfScreen12(&BMF_font_scr12);
|
|
||||||
#endif // BMF_INCLUDE_SCR12
|
|
||||||
#if BMF_INCLUDE_SCR14
|
|
||||||
extern BMF_FontData BMF_font_scr14;
|
|
||||||
static BMF_BitmapFont bmfScreen14(&BMF_font_scr14);
|
|
||||||
#endif // BMF_INCLUDE_SCR14
|
|
||||||
#if BMF_INCLUDE_SCR15
|
|
||||||
extern BMF_FontData BMF_font_scr15;
|
|
||||||
static BMF_BitmapFont bmfScreen15(&BMF_font_scr15);
|
|
||||||
#endif // BMF_INCLUDE_SCR15
|
|
||||||
|
|
||||||
|
|
||||||
BMF_Font* BMF_GetFont(BMF_FontType font)
|
|
||||||
{
|
|
||||||
switch (font)
|
|
||||||
{
|
|
||||||
#if BMF_INCLUDE_HELV10
|
|
||||||
case BMF_kHelvetica10: return (BMF_Font*) &bmfHelv10;
|
|
||||||
#endif // BMF_INCLUDE_HELV10
|
|
||||||
#if BMF_INCLUDE_HELV12
|
|
||||||
case BMF_kHelvetica12: return (BMF_Font*) &bmfHelv12;
|
|
||||||
#endif // BMF_INCLUDE_HELV12
|
|
||||||
#if BMF_INCLUDE_HELVB8
|
|
||||||
case BMF_kHelveticaBold8: return (BMF_Font*) &bmfHelvb8;
|
|
||||||
#endif // BMF_INCLUDE_HELVB8
|
|
||||||
#if BMF_INCLUDE_HELVB10
|
|
||||||
case BMF_kHelveticaBold10: return (BMF_Font*) &bmfHelvb10;
|
|
||||||
#endif // BMF_INCLUDE_HELVB10
|
|
||||||
#if BMF_INCLUDE_HELVB12
|
|
||||||
case BMF_kHelveticaBold12: return (BMF_Font*) &bmfHelvb12;
|
|
||||||
#endif // BMF_INCLUDE_HELVB12
|
|
||||||
#if BMF_INCLUDE_HELVB14
|
|
||||||
case BMF_kHelveticaBold14: return (BMF_Font*) &bmfHelvb14;
|
|
||||||
#endif // BMF_INCLUDE_HELVB12
|
|
||||||
#if BMF_INCLUDE_SCR12
|
|
||||||
case BMF_kScreen12: return (BMF_Font*) &bmfScreen12;
|
|
||||||
#endif // BMF_INCLUDE_SCR12
|
|
||||||
#if BMF_INCLUDE_SCR14
|
|
||||||
case BMF_kScreen14: return (BMF_Font*) &bmfScreen14;
|
|
||||||
#endif // BMF_INCLUDE_SCR14
|
|
||||||
#if BMF_INCLUDE_SCR15
|
|
||||||
case BMF_kScreen15: return (BMF_Font*) &bmfScreen15;
|
|
||||||
#endif // BMF_INCLUDE_SCR15
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int BMF_DrawCharacter(BMF_Font* font, char c)
|
|
||||||
{
|
|
||||||
char str[2] = {c, '\0'};
|
|
||||||
return BMF_DrawString(font, str);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int BMF_DrawString(BMF_Font* font, char* str)
|
|
||||||
{
|
|
||||||
if (!font) return 0;
|
|
||||||
((BMF_BitmapFont*)font)->DrawString(str);
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int BMF_GetCharacterWidth(BMF_Font* font, char c)
|
|
||||||
{
|
|
||||||
char str[2] = {c, '\0'};
|
|
||||||
return BMF_GetStringWidth(font, str);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int BMF_GetStringWidth(BMF_Font* font, char* str)
|
|
||||||
{
|
|
||||||
if (!font) return 0;
|
|
||||||
return ((BMF_BitmapFont*)font)->GetStringWidth(str);
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_GetStringBoundingBox(BMF_Font* font, char* str, float*llx, float *lly, float *urx, float *ury){
|
|
||||||
if (!font){
|
|
||||||
*llx = *lly = *urx = *ury = 0;
|
|
||||||
}else{
|
|
||||||
((BMF_BitmapFont*)font)->GetStringBoundingBox(str, llx, lly, urx, ury);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_GetFontBoundingBox(BMF_Font* font, int *xmin_r, int *ymin_r, int *xmax_r, int *ymax_r)
|
|
||||||
{
|
|
||||||
if (!font) return;
|
|
||||||
((BMF_BitmapFont*)font)->GetFontBoundingBox(*xmin_r, *ymin_r, *xmax_r, *ymax_r);
|
|
||||||
}
|
|
||||||
|
|
||||||
int BMF_GetFontHeight(BMF_Font* font)
|
|
||||||
{
|
|
||||||
if (!font) return -1;
|
|
||||||
return ((BMF_BitmapFont*)font)->GetFontHeight();
|
|
||||||
}
|
|
||||||
|
|
||||||
int BMF_GetFontTexture(BMF_Font* font) {
|
|
||||||
if (!font) return -1;
|
|
||||||
return ((BMF_BitmapFont*)font)->GetTexture();
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_DrawStringTexture(BMF_Font* font, char *string, float x, float y, float z) {
|
|
||||||
if (!font) return;
|
|
||||||
((BMF_BitmapFont*)font)->DrawStringTexture(string, x, y, z);
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_DrawStringBuf(BMF_Font* font, char *str, int posx, int posy, float *col, unsigned char *buf, float *fbuf, int w, int h, int channels) {
|
|
||||||
if (!font) return;
|
|
||||||
((BMF_BitmapFont*)font)->DrawStringBuf(str, posx, posy, col, buf, fbuf, w, h, channels);
|
|
||||||
}
|
|
||||||
@@ -1,323 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <string.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(WIN32) || defined(__APPLE__)
|
|
||||||
#ifdef WIN32
|
|
||||||
#if !defined(__CYGWIN32__)
|
|
||||||
#pragma warning(disable:4244)
|
|
||||||
#endif /* __CYGWIN32__ */
|
|
||||||
#include <windows.h>
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#else // WIN32
|
|
||||||
// __APPLE__ is defined
|
|
||||||
#include <AGL/gl.h>
|
|
||||||
#endif // WIN32
|
|
||||||
#else // defined(WIN32) || defined(__APPLE__)
|
|
||||||
#include <GL/gl.h>
|
|
||||||
#endif // defined(WIN32) || defined(__APPLE__)
|
|
||||||
|
|
||||||
#include "BMF_BitmapFont.h"
|
|
||||||
|
|
||||||
|
|
||||||
BMF_BitmapFont::BMF_BitmapFont(BMF_FontData* fontData)
|
|
||||||
: m_fontData(fontData)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BMF_BitmapFont::~BMF_BitmapFont(void)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_BitmapFont::DrawString(char* str)
|
|
||||||
{
|
|
||||||
GLint alignment;
|
|
||||||
unsigned char c;
|
|
||||||
|
|
||||||
glGetIntegerv(GL_UNPACK_ALIGNMENT, &alignment);
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
|
|
||||||
|
|
||||||
while ( (c = (unsigned char) *str++) ) {
|
|
||||||
BMF_CharData & cd = m_fontData->chars[c];
|
|
||||||
|
|
||||||
if (cd.data_offset==-1) {
|
|
||||||
GLubyte nullBitmap = 0;
|
|
||||||
|
|
||||||
glBitmap(1, 1, 0, 0, cd.advance, 0, &nullBitmap);
|
|
||||||
} else {
|
|
||||||
GLubyte *bitmap = &m_fontData->bitmap_data[cd.data_offset];
|
|
||||||
|
|
||||||
glBitmap(cd.width, cd.height, cd.xorig, cd.yorig, cd.advance, 0, bitmap);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
glPixelStorei(GL_UNPACK_ALIGNMENT, alignment);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int BMF_BitmapFont::GetStringWidth(char* str)
|
|
||||||
{
|
|
||||||
unsigned char c;
|
|
||||||
int length = 0;
|
|
||||||
|
|
||||||
while ( (c = (unsigned char) *str++) ) {
|
|
||||||
length += m_fontData->chars[c].advance;
|
|
||||||
}
|
|
||||||
|
|
||||||
return length;
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_BitmapFont::GetFontBoundingBox(int & xMin, int & yMin, int & xMax, int & yMax)
|
|
||||||
{
|
|
||||||
xMin = m_fontData->xmin;
|
|
||||||
yMin = m_fontData->ymin;
|
|
||||||
xMax = m_fontData->xmax;
|
|
||||||
yMax = m_fontData->ymax;
|
|
||||||
}
|
|
||||||
|
|
||||||
int BMF_BitmapFont::GetFontHeight( void )
|
|
||||||
{
|
|
||||||
return m_fontData->ymax - m_fontData->ymin;
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_BitmapFont::GetStringBoundingBox(char* str, float*llx, float *lly, float *urx, float *ury)
|
|
||||||
{
|
|
||||||
unsigned char c;
|
|
||||||
int length = 0;
|
|
||||||
int ascent = 0;
|
|
||||||
int descent = 0;
|
|
||||||
|
|
||||||
while ( (c = (unsigned char) *str++) ) {
|
|
||||||
length += m_fontData->chars[c].advance;
|
|
||||||
int d = m_fontData->chars[c].yorig;
|
|
||||||
int a = m_fontData->chars[c].height - m_fontData->chars[c].yorig;
|
|
||||||
if(a > ascent) ascent = a;
|
|
||||||
if(d > descent) descent = d;
|
|
||||||
}
|
|
||||||
*llx = (float)0;
|
|
||||||
*lly = (float)-descent;
|
|
||||||
*urx = (float)length;
|
|
||||||
*ury = (float)ascent;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int BMF_BitmapFont::GetTexture()
|
|
||||||
{
|
|
||||||
int fWidth = m_fontData->xmax - m_fontData->xmin;
|
|
||||||
int fHeight = m_fontData->ymax - m_fontData->ymin;
|
|
||||||
|
|
||||||
if (fWidth>=16 || fHeight>=16) {
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
int cRows = 16, cCols = 16;
|
|
||||||
int cWidth = 16, cHeight = 16;
|
|
||||||
int iWidth = cCols*cWidth;
|
|
||||||
int iHeight = cRows*cHeight;
|
|
||||||
GLubyte *img = new GLubyte [iHeight*iWidth];
|
|
||||||
GLuint texId;
|
|
||||||
|
|
||||||
int baseLine = -(m_fontData->ymin);
|
|
||||||
|
|
||||||
memset(img, 0, iHeight*iWidth);
|
|
||||||
for (int i = 0; i<256; i++) {
|
|
||||||
BMF_CharData & cd = m_fontData->chars[i];
|
|
||||||
|
|
||||||
if (cd.data_offset != -1) {
|
|
||||||
int cellX = i%16;
|
|
||||||
int cellY = i/16;
|
|
||||||
|
|
||||||
for (int y = 0; y<cd.height; y++) {
|
|
||||||
GLubyte* imgRow = &img[(cellY*cHeight + y + baseLine - cd.yorig)*iWidth];
|
|
||||||
GLubyte* chrRow = &m_fontData->bitmap_data[cd.data_offset + ((cd.width+7)/8)*y];
|
|
||||||
|
|
||||||
for (int x = 0; x<cd.width; x++) {
|
|
||||||
GLubyte* imgPxl = &imgRow[(cellX*cWidth + x - cd.xorig)];
|
|
||||||
int byteIdx = x/8;
|
|
||||||
int bitIdx = 7 - (x%8);
|
|
||||||
|
|
||||||
if (chrRow[byteIdx]&(1<<bitIdx)) {
|
|
||||||
imgPxl[0] = 255;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
glGenTextures(1, &texId);
|
|
||||||
|
|
||||||
glBindTexture(GL_TEXTURE_2D, texId);
|
|
||||||
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_ALPHA4, iWidth, iHeight, 0, GL_ALPHA, GL_UNSIGNED_BYTE, img);
|
|
||||||
if (glGetError()) {
|
|
||||||
glTexImage2D(GL_TEXTURE_2D, 0, GL_LUMINANCE4_ALPHA4, iWidth, iHeight, 0, GL_ALPHA, GL_UNSIGNED_BYTE, img);
|
|
||||||
}
|
|
||||||
|
|
||||||
glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
|
||||||
|
|
||||||
delete [] img;
|
|
||||||
|
|
||||||
return texId;
|
|
||||||
}
|
|
||||||
|
|
||||||
void BMF_BitmapFont::DrawStringTexture(char *str, float x, float y, float z)
|
|
||||||
{
|
|
||||||
unsigned char c;
|
|
||||||
float pos = 0;
|
|
||||||
|
|
||||||
int baseLine = -(m_fontData->ymin);
|
|
||||||
|
|
||||||
glBegin(GL_QUADS);
|
|
||||||
while ( (c = (unsigned char) *str++) ) {
|
|
||||||
BMF_CharData & cd = m_fontData->chars[c];
|
|
||||||
|
|
||||||
if (cd.data_offset != -1) {
|
|
||||||
float cellX = (c%16)/16.0;
|
|
||||||
float cellY = (c/16)/16.0;
|
|
||||||
|
|
||||||
glTexCoord2f(cellX + 1.0/16.0, cellY);
|
|
||||||
glVertex3f(x + pos + 16.0, -baseLine + y + 0.0, z);
|
|
||||||
|
|
||||||
glTexCoord2f(cellX + 1.0/16.0, cellY + 1.0/16.0);
|
|
||||||
glVertex3f(x + pos + 16.0, -baseLine + y + 16.0, z);
|
|
||||||
|
|
||||||
glTexCoord2f(cellX, cellY + 1.0/16.0);
|
|
||||||
glVertex3f(x + pos + 0.0, -baseLine + y + 16.0, z);
|
|
||||||
|
|
||||||
glTexCoord2f(cellX, cellY);
|
|
||||||
glVertex3f(x + pos + 0.0, -baseLine + y + 0.0, z);
|
|
||||||
}
|
|
||||||
|
|
||||||
pos += cd.advance;
|
|
||||||
}
|
|
||||||
glEnd();
|
|
||||||
}
|
|
||||||
|
|
||||||
#define FTOCHAR(val) val<=0.0f?0: (val>=1.0f?255: (char)(255.0f*val))
|
|
||||||
void BMF_BitmapFont::DrawStringBuf(char *str, int posx, int posy, float *col, unsigned char *buf, float *fbuf, int w, int h, int channels)
|
|
||||||
{
|
|
||||||
int x, y;
|
|
||||||
|
|
||||||
if (buf==0 && fbuf==0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/*offset for font*/
|
|
||||||
posx -= m_fontData->xmin;
|
|
||||||
posy -= m_fontData->ymin;
|
|
||||||
|
|
||||||
if (buf) {
|
|
||||||
unsigned char colch[4];
|
|
||||||
unsigned char *max, *pixel;
|
|
||||||
unsigned char c;
|
|
||||||
|
|
||||||
for (x=0; x<4; x++) {
|
|
||||||
colch[x] = FTOCHAR(col[x]);
|
|
||||||
}
|
|
||||||
|
|
||||||
max = buf + (4 * (w * h));
|
|
||||||
while ((c = (unsigned char) *str++)) {
|
|
||||||
BMF_CharData & cd = m_fontData->chars[c];
|
|
||||||
if (cd.data_offset != -1) {
|
|
||||||
for (y = 0; y < cd.height; y++) {
|
|
||||||
unsigned char* chrRow = &m_fontData->bitmap_data[cd.data_offset + ((cd.width+7)/8)*y];
|
|
||||||
for (x = cd.xorig; x < cd.width; x++) {
|
|
||||||
pixel = buf + 4 * (((posy + y - cd.yorig) * w) + (posx + x));
|
|
||||||
if ((pixel < max) && (pixel > buf)) {
|
|
||||||
int byteIdx = x/8;
|
|
||||||
int bitIdx = 7 - (x%8);
|
|
||||||
|
|
||||||
if (chrRow[byteIdx]&(1<<bitIdx)) {
|
|
||||||
pixel[0] = colch[0];
|
|
||||||
pixel[1] = colch[1];
|
|
||||||
pixel[2] = colch[2];
|
|
||||||
if (channels==4) {
|
|
||||||
pixel[4] = 1; /*colch[3];*/
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
posx += cd.advance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (fbuf) {
|
|
||||||
float *pixel, *max;
|
|
||||||
unsigned char c;
|
|
||||||
int xi, yi;
|
|
||||||
|
|
||||||
max = fbuf + (4 * (w * h));
|
|
||||||
|
|
||||||
while ((c = (unsigned char) *str++)) {
|
|
||||||
BMF_CharData & cd = m_fontData->chars[c];
|
|
||||||
if (cd.data_offset != -1) {
|
|
||||||
for (yi = 0; yi < cd.height; yi++) {
|
|
||||||
unsigned char* chrRow = &m_fontData->bitmap_data[cd.data_offset + ((cd.width+7)/8)*yi];
|
|
||||||
for (xi = cd.xorig; xi < cd.width; xi++) {
|
|
||||||
pixel = fbuf + 4 * (((posy + yi - cd.yorig) * w) + (posx + xi));
|
|
||||||
if ((pixel < max) && (pixel > fbuf)) {
|
|
||||||
int byteIdx = xi/8;
|
|
||||||
int bitIdx = 7 - (xi%8);
|
|
||||||
|
|
||||||
if (chrRow[byteIdx]&(1<<bitIdx)) {
|
|
||||||
pixel[0] = col[0];
|
|
||||||
pixel[1] = col[1];
|
|
||||||
pixel[2] = col[2];
|
|
||||||
if (channels==4) {
|
|
||||||
pixel[3] = 1; /*col[3];*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
posx += cd.advance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,140 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BMF_BITMAP_FONT_H
|
|
||||||
#define __BMF_BITMAP_FONT_H
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Base class for OpenGL bitmap fonts.
|
|
||||||
*/
|
|
||||||
class BMF_BitmapFont
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
/**
|
|
||||||
* Default constructor.
|
|
||||||
*/
|
|
||||||
BMF_BitmapFont(BMF_FontData* fontData);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Destructor.
|
|
||||||
*/
|
|
||||||
virtual ~BMF_BitmapFont(void);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draws a string at the current raster position.
|
|
||||||
* @param str The string to draw.
|
|
||||||
*/
|
|
||||||
void DrawString(char* str);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draws a string at the current raster position.
|
|
||||||
* @param str The string to draw.
|
|
||||||
* @return The width of the string.
|
|
||||||
*/
|
|
||||||
int GetStringWidth(char* str);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the bounding box of the font. The width and
|
|
||||||
* height represent the bounding box of the union of
|
|
||||||
* all glyps. The minimum and maximum values of the
|
|
||||||
* box represent the extent of the font and its positioning
|
|
||||||
* about the origin.
|
|
||||||
*/
|
|
||||||
void GetFontBoundingBox(int & xMin, int & yMin, int & xMax, int & yMax);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Return the bounding box height of the font.
|
|
||||||
*/
|
|
||||||
int GetFontHeight(void);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns the bounding box of a string of characters.
|
|
||||||
* @param font The font to use.
|
|
||||||
* @param str The string.
|
|
||||||
* @param llx Lower left x coord
|
|
||||||
* @param lly Lower left y coord
|
|
||||||
* @param urx Upper right x coord
|
|
||||||
* @param ury Upper right y coord
|
|
||||||
*/
|
|
||||||
void GetStringBoundingBox(char* str, float*llx, float *lly, float *urx, float *ury);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Convert the font to a texture, and return the GL texture
|
|
||||||
* ID of the texture. If the texture ID is bound, text can
|
|
||||||
* be drawn using the texture by calling DrawStringTexture.
|
|
||||||
*
|
|
||||||
* @return The GL texture ID of the new texture, or -1 if unable
|
|
||||||
* to create.
|
|
||||||
*/
|
|
||||||
int GetTexture();
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draw the given @a string at the point @a x, @a y, @a z, using
|
|
||||||
* texture coordinates. This assumes that an appropriate texture
|
|
||||||
* has been bound, see BMF_BitmapFont::GetTexture(). The string
|
|
||||||
* is drawn along the positive X axis.
|
|
||||||
*
|
|
||||||
* @param string The c-string to draw.
|
|
||||||
* @param x The x coordinate to start drawing at.
|
|
||||||
* @param y The y coordinate to start drawing at.
|
|
||||||
* @param z The z coordinate to start drawing at.
|
|
||||||
*/
|
|
||||||
void DrawStringTexture(char* string, float x, float y, float z);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Draw the given @a string at the point @a xpos, @a ypos using
|
|
||||||
* char and float buffers.
|
|
||||||
*
|
|
||||||
* @param string The c-string to draw.
|
|
||||||
* @param xpos The x coordinate to start drawing at.
|
|
||||||
* @param ypos The y coordinate to start drawing at.
|
|
||||||
* @param col The forground color.
|
|
||||||
* @param buf Unsigned char image buffer, when NULL to not operate on it.
|
|
||||||
* @param fbuf float image buffer, when NULL to not operate on it.
|
|
||||||
* @param w image buffer width.
|
|
||||||
* @param h image buffer height.
|
|
||||||
* @param channels number of channels in the image (3 or 4 - currently)
|
|
||||||
*/
|
|
||||||
void DrawStringBuf(char *str, int posx, int posy, float *col, unsigned char *buf, float *fbuf, int w, int h, int channels);
|
|
||||||
|
|
||||||
protected:
|
|
||||||
/** Pointer to the font data. */
|
|
||||||
BMF_FontData* m_fontData;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif // __BMF_BITMAP_FONT_H
|
|
||||||
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
|
|
||||||
* $Id$
|
|
||||||
* Copyright (C) 2001 NaN Technologies B.V.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __BMF_FONTDATA_H__
|
|
||||||
#define __BMF_FONTDATA_H__
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
signed char width, height;
|
|
||||||
signed char xorig, yorig;
|
|
||||||
signed char advance;
|
|
||||||
|
|
||||||
short data_offset;
|
|
||||||
} BMF_CharData;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
int xmin, ymin;
|
|
||||||
int xmax, ymax;
|
|
||||||
|
|
||||||
BMF_CharData chars[256];
|
|
||||||
unsigned char* bitmap_data;
|
|
||||||
} BMF_FontData;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,494 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
|
|
||||||
#if BMF_INCLUDE_HELV10
|
|
||||||
|
|
||||||
static unsigned char bitmap_data[]= {
|
|
||||||
0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0xa0,0xa0,0x50,0x50,0xf8,0x28,0x7c,0x28,
|
|
||||||
0x28,0x20,0x70,0xa8,0x28,0x70,0xa0,0xa8,
|
|
||||||
0x70,0x20,0x26,0x29,0x16,0x10,0x08,0x68,
|
|
||||||
0x94,0x64,0x64,0x98,0x98,0xa4,0x60,0x50,
|
|
||||||
0x50,0x20,0x80,0x40,0x40,0x20,0x40,0x40,
|
|
||||||
0x80,0x80,0x80,0x80,0x40,0x40,0x20,0x80,
|
|
||||||
0x40,0x40,0x20,0x20,0x20,0x20,0x40,0x40,
|
|
||||||
0x80,0xa0,0x40,0xa0,0x20,0x20,0xf8,0x20,
|
|
||||||
0x20,0x80,0x40,0x40,0xf8,0x80,0x80,0x80,
|
|
||||||
0x40,0x40,0x40,0x40,0x20,0x20,0x70,0x88,
|
|
||||||
0x88,0x88,0x88,0x88,0x88,0x70,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0xc0,0x40,0xf8,0x80,
|
|
||||||
0x40,0x30,0x08,0x08,0x88,0x70,0x70,0x88,
|
|
||||||
0x08,0x08,0x30,0x08,0x88,0x70,0x10,0x10,
|
|
||||||
0xf8,0x90,0x50,0x50,0x30,0x10,0x70,0x88,
|
|
||||||
0x08,0x08,0xf0,0x80,0x80,0xf8,0x70,0x88,
|
|
||||||
0x88,0xc8,0xb0,0x80,0x88,0x70,0x40,0x40,
|
|
||||||
0x20,0x20,0x10,0x10,0x08,0xf8,0x70,0x88,
|
|
||||||
0x88,0x88,0x70,0x88,0x88,0x70,0x70,0x88,
|
|
||||||
0x08,0x68,0x98,0x88,0x88,0x70,0x80,0x00,
|
|
||||||
0x00,0x00,0x00,0x80,0x80,0x40,0x40,0x00,
|
|
||||||
0x00,0x00,0x00,0x40,0x20,0x40,0x80,0x40,
|
|
||||||
0x20,0xf0,0x00,0xf0,0x80,0x40,0x20,0x40,
|
|
||||||
0x80,0x40,0x00,0x40,0x40,0x20,0x10,0x90,
|
|
||||||
0x60,0x3e,0x00,0x40,0x00,0x9b,0x00,0xa4,
|
|
||||||
0x80,0xa4,0x80,0xa2,0x40,0x92,0x40,0x4d,
|
|
||||||
0x40,0x20,0x80,0x1f,0x00,0x82,0x82,0x7c,
|
|
||||||
0x44,0x28,0x28,0x10,0x10,0xf0,0x88,0x88,
|
|
||||||
0x88,0xf0,0x88,0x88,0xf0,0x78,0x84,0x80,
|
|
||||||
0x80,0x80,0x80,0x84,0x78,0xf0,0x88,0x84,
|
|
||||||
0x84,0x84,0x84,0x88,0xf0,0xf8,0x80,0x80,
|
|
||||||
0x80,0xf8,0x80,0x80,0xf8,0x80,0x80,0x80,
|
|
||||||
0x80,0xf0,0x80,0x80,0xf8,0x74,0x8c,0x84,
|
|
||||||
0x8c,0x80,0x80,0x84,0x78,0x84,0x84,0x84,
|
|
||||||
0x84,0xfc,0x84,0x84,0x84,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x60,0x90,0x10,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x88,0x88,0x90,
|
|
||||||
0x90,0xe0,0xa0,0x90,0x88,0xf0,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x92,0x92,0x92,
|
|
||||||
0xaa,0xaa,0xc6,0xc6,0x82,0x8c,0x8c,0x94,
|
|
||||||
0x94,0xa4,0xa4,0xc4,0xc4,0x78,0x84,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x78,0x80,0x80,0x80,
|
|
||||||
0x80,0xf0,0x88,0x88,0xf0,0x02,0x7c,0x8c,
|
|
||||||
0x94,0x84,0x84,0x84,0x84,0x78,0x88,0x88,
|
|
||||||
0x88,0x88,0xf0,0x88,0x88,0xf0,0x70,0x88,
|
|
||||||
0x88,0x08,0x70,0x80,0x88,0x70,0x20,0x20,
|
|
||||||
0x20,0x20,0x20,0x20,0x20,0xf8,0x78,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x84,0x84,0x10,0x28,
|
|
||||||
0x28,0x44,0x44,0x44,0x82,0x82,0x22,0x00,
|
|
||||||
0x22,0x00,0x22,0x00,0x55,0x00,0x49,0x00,
|
|
||||||
0x49,0x00,0x88,0x80,0x88,0x80,0x88,0x88,
|
|
||||||
0x50,0x50,0x20,0x50,0x88,0x88,0x10,0x10,
|
|
||||||
0x10,0x28,0x28,0x44,0x44,0x82,0xf8,0x80,
|
|
||||||
0x40,0x20,0x20,0x10,0x08,0xf8,0xc0,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xc0,
|
|
||||||
0x20,0x20,0x40,0x40,0x40,0x40,0x80,0x80,
|
|
||||||
0xc0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x40,0xc0,0x88,0x50,0x50,0x20,0x20,0xfc,
|
|
||||||
0x80,0x80,0x40,0x68,0x90,0x90,0x70,0x10,
|
|
||||||
0xe0,0xb0,0xc8,0x88,0x88,0xc8,0xb0,0x80,
|
|
||||||
0x80,0x60,0x90,0x80,0x80,0x90,0x60,0x68,
|
|
||||||
0x98,0x88,0x88,0x98,0x68,0x08,0x08,0x60,
|
|
||||||
0x90,0x80,0xf0,0x90,0x60,0x40,0x40,0x40,
|
|
||||||
0x40,0x40,0xe0,0x40,0x30,0x70,0x08,0x68,
|
|
||||||
0x98,0x88,0x88,0x98,0x68,0x88,0x88,0x88,
|
|
||||||
0x88,0xc8,0xb0,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x00,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x00,0x80,0x90,0x90,
|
|
||||||
0xa0,0xc0,0xa0,0x90,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x92,0x92,
|
|
||||||
0x92,0x92,0x92,0xec,0x88,0x88,0x88,0x88,
|
|
||||||
0xc8,0xb0,0x70,0x88,0x88,0x88,0x88,0x70,
|
|
||||||
0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,0xb0,
|
|
||||||
0x08,0x08,0x68,0x98,0x88,0x88,0x98,0x68,
|
|
||||||
0x80,0x80,0x80,0x80,0xc0,0xa0,0x60,0x90,
|
|
||||||
0x10,0x60,0x90,0x60,0x60,0x40,0x40,0x40,
|
|
||||||
0x40,0xe0,0x40,0x40,0x70,0x90,0x90,0x90,
|
|
||||||
0x90,0x90,0x20,0x20,0x50,0x50,0x88,0x88,
|
|
||||||
0x28,0x28,0x54,0x54,0x92,0x92,0x88,0x88,
|
|
||||||
0x50,0x20,0x50,0x88,0x80,0x40,0x40,0x60,
|
|
||||||
0xa0,0xa0,0x90,0x90,0xf0,0x80,0x40,0x20,
|
|
||||||
0x10,0xf0,0x20,0x40,0x40,0x40,0x40,0x80,
|
|
||||||
0x40,0x40,0x40,0x20,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x40,
|
|
||||||
0x40,0x40,0x40,0x20,0x40,0x40,0x40,0x80,
|
|
||||||
0x98,0x64,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x00,0x80,0x40,0x70,0xa8,0xa0,0xa0,0xa8,
|
|
||||||
0x70,0x10,0xb0,0x48,0x40,0x40,0xe0,0x40,
|
|
||||||
0x48,0x30,0x90,0x60,0x90,0x90,0x60,0x90,
|
|
||||||
0x20,0xf8,0x20,0xf8,0x50,0x50,0x88,0x88,
|
|
||||||
0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,
|
|
||||||
0x80,0x80,0x70,0x88,0x18,0x70,0xc8,0x98,
|
|
||||||
0x70,0xc0,0x88,0x70,0xa0,0x38,0x44,0x9a,
|
|
||||||
0xa2,0x9a,0x44,0x38,0xe0,0x00,0xa0,0x20,
|
|
||||||
0xe0,0x28,0x50,0xa0,0x50,0x28,0x08,0x08,
|
|
||||||
0xf8,0xe0,0x38,0x44,0xaa,0xb2,0xba,0x44,
|
|
||||||
0x38,0xe0,0x60,0x90,0x90,0x60,0xf8,0x00,
|
|
||||||
0x20,0x20,0xf8,0x20,0x20,0xe0,0x40,0xa0,
|
|
||||||
0x60,0xc0,0x20,0x40,0xe0,0x80,0x40,0x80,
|
|
||||||
0x80,0xf0,0x90,0x90,0x90,0x90,0x90,0x28,
|
|
||||||
0x28,0x28,0x28,0x28,0x68,0xe8,0xe8,0xe8,
|
|
||||||
0x7c,0xc0,0xc0,0x40,0x40,0x40,0xc0,0x40,
|
|
||||||
0xe0,0x00,0xe0,0xa0,0xe0,0xa0,0x50,0x28,
|
|
||||||
0x50,0xa0,0x21,0x00,0x17,0x80,0x13,0x00,
|
|
||||||
0x09,0x00,0x48,0x00,0x44,0x00,0xc4,0x00,
|
|
||||||
0x42,0x00,0x27,0x12,0x15,0x0b,0x48,0x44,
|
|
||||||
0xc4,0x42,0x21,0x00,0x17,0x80,0x13,0x00,
|
|
||||||
0x09,0x00,0xc8,0x00,0x24,0x00,0x44,0x00,
|
|
||||||
0xe2,0x00,0x60,0x90,0x80,0x40,0x20,0x20,
|
|
||||||
0x00,0x20,0x82,0x82,0x7c,0x44,0x28,0x28,
|
|
||||||
0x10,0x10,0x00,0x10,0x20,0x82,0x82,0x7c,
|
|
||||||
0x44,0x28,0x28,0x10,0x10,0x00,0x10,0x08,
|
|
||||||
0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,
|
|
||||||
0x00,0x28,0x10,0x82,0x82,0x7c,0x44,0x28,
|
|
||||||
0x28,0x10,0x10,0x00,0x28,0x14,0x82,0x82,
|
|
||||||
0x7c,0x44,0x28,0x28,0x10,0x10,0x00,0x28,
|
|
||||||
0x82,0x82,0x7c,0x44,0x28,0x28,0x10,0x10,
|
|
||||||
0x10,0x28,0x10,0x8f,0x80,0x88,0x00,0x78,
|
|
||||||
0x00,0x48,0x00,0x2f,0x80,0x28,0x00,0x18,
|
|
||||||
0x00,0x1f,0x80,0x30,0x10,0x78,0x84,0x80,
|
|
||||||
0x80,0x80,0x80,0x84,0x78,0xf8,0x80,0x80,
|
|
||||||
0x80,0xf8,0x80,0x80,0xf8,0x00,0x20,0x40,
|
|
||||||
0xf8,0x80,0x80,0x80,0xf8,0x80,0x80,0xf8,
|
|
||||||
0x00,0x20,0x10,0xf8,0x80,0x80,0xf8,0x80,
|
|
||||||
0x80,0x80,0xf8,0x00,0x50,0x20,0xf8,0x80,
|
|
||||||
0x80,0x80,0xf8,0x80,0x80,0xf8,0x00,0x50,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x00,0x40,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x00,0x80,0x40,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x00,0xa0,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x40,0x00,0xa0,0x78,0x44,0x42,0x42,0xf2,
|
|
||||||
0x42,0x44,0x78,0x8c,0x8c,0x94,0x94,0xa4,
|
|
||||||
0xa4,0xc4,0xc4,0x00,0x50,0x28,0x78,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x84,0x78,0x00,0x10,
|
|
||||||
0x20,0x78,0x84,0x84,0x84,0x84,0x84,0x84,
|
|
||||||
0x78,0x00,0x10,0x08,0x78,0x84,0x84,0x84,
|
|
||||||
0x84,0x84,0x84,0x78,0x00,0x28,0x10,0x78,
|
|
||||||
0x84,0x84,0x84,0x84,0x84,0x84,0x78,0x00,
|
|
||||||
0x50,0x28,0x78,0x84,0x84,0x84,0x84,0x84,
|
|
||||||
0x84,0x78,0x00,0x48,0x88,0x50,0x20,0x50,
|
|
||||||
0x88,0x80,0x78,0xc4,0xa4,0xa4,0x94,0x94,
|
|
||||||
0x8c,0x78,0x04,0x78,0x84,0x84,0x84,0x84,
|
|
||||||
0x84,0x84,0x84,0x00,0x10,0x20,0x78,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x84,0x84,0x00,0x20,
|
|
||||||
0x10,0x78,0x84,0x84,0x84,0x84,0x84,0x84,
|
|
||||||
0x84,0x00,0x28,0x10,0x78,0x84,0x84,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x00,0x48,0x10,0x10,
|
|
||||||
0x10,0x28,0x28,0x44,0x44,0x82,0x00,0x10,
|
|
||||||
0x08,0x80,0x80,0xf0,0x88,0x88,0xf0,0x80,
|
|
||||||
0x80,0xa0,0x90,0x90,0x90,0xa0,0x90,0x90,
|
|
||||||
0x60,0x68,0x90,0x90,0x70,0x10,0xe0,0x00,
|
|
||||||
0x20,0x40,0x68,0x90,0x90,0x70,0x10,0xe0,
|
|
||||||
0x00,0x20,0x10,0x68,0x90,0x90,0x70,0x10,
|
|
||||||
0xe0,0x00,0x50,0x20,0x68,0x90,0x90,0x70,
|
|
||||||
0x10,0xe0,0x00,0xa0,0x50,0x68,0x90,0x90,
|
|
||||||
0x70,0x10,0xe0,0x00,0x50,0x68,0x90,0x90,
|
|
||||||
0x70,0x10,0xe0,0x20,0x50,0x20,0x6c,0x92,
|
|
||||||
0x90,0x7e,0x12,0xec,0x60,0x20,0x60,0x90,
|
|
||||||
0x80,0x80,0x90,0x60,0x60,0x90,0x80,0xf0,
|
|
||||||
0x90,0x60,0x00,0x20,0x40,0x60,0x90,0x80,
|
|
||||||
0xf0,0x90,0x60,0x00,0x40,0x20,0x60,0x90,
|
|
||||||
0x80,0xf0,0x90,0x60,0x00,0x50,0x20,0x60,
|
|
||||||
0x90,0x80,0xf0,0x90,0x60,0x00,0x50,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x00,0x40,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x80,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
|
|
||||||
0xa0,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x00,0xa0,0x70,0x88,0x88,0x88,0x88,0x78,
|
|
||||||
0x90,0x60,0x50,0x90,0x90,0x90,0x90,0x90,
|
|
||||||
0xe0,0x00,0xa0,0x50,0x70,0x88,0x88,0x88,
|
|
||||||
0x88,0x70,0x00,0x20,0x40,0x70,0x88,0x88,
|
|
||||||
0x88,0x88,0x70,0x00,0x20,0x10,0x70,0x88,
|
|
||||||
0x88,0x88,0x88,0x70,0x00,0x50,0x20,0x70,
|
|
||||||
0x88,0x88,0x88,0x88,0x70,0x00,0x50,0x28,
|
|
||||||
0x70,0x88,0x88,0x88,0x88,0x70,0x00,0x50,
|
|
||||||
0x20,0x00,0xf8,0x00,0x20,0x70,0x88,0xc8,
|
|
||||||
0xa8,0x98,0x74,0x70,0x90,0x90,0x90,0x90,
|
|
||||||
0x90,0x00,0x20,0x40,0x70,0x90,0x90,0x90,
|
|
||||||
0x90,0x90,0x00,0x40,0x20,0x70,0x90,0x90,
|
|
||||||
0x90,0x90,0x90,0x00,0x50,0x20,0x70,0x90,
|
|
||||||
0x90,0x90,0x90,0x90,0x00,0x50,0x80,0x40,
|
|
||||||
0x40,0x60,0xa0,0xa0,0x90,0x90,0x00,0x20,
|
|
||||||
0x10,0x80,0x80,0xb0,0xc8,0x88,0x88,0xc8,
|
|
||||||
0xb0,0x80,0x80,0x80,0x40,0x40,0x60,0xa0,
|
|
||||||
0xa0,0x90,0x90,0x00,0x50,
|
|
||||||
};
|
|
||||||
|
|
||||||
BMF_FontData BMF_font_helv10 = {
|
|
||||||
-1, -2,
|
|
||||||
10, 11,
|
|
||||||
{
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 12, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 3, -1},
|
|
||||||
{1, 8, -1, 0, 3, 0},
|
|
||||||
{3, 2, -1, -6, 4, 8},
|
|
||||||
{6, 7, 0, 0, 6, 10},
|
|
||||||
{5, 9, 0, 1, 6, 17},
|
|
||||||
{8, 8, 0, 0, 9, 26},
|
|
||||||
{6, 8, -1, 0, 8, 34},
|
|
||||||
{2, 3, -1, -5, 3, 42},
|
|
||||||
{3, 10, 0, 2, 4, 45},
|
|
||||||
{3, 10, -1, 2, 4, 55},
|
|
||||||
{3, 3, 0, -5, 4, 65},
|
|
||||||
{5, 5, 0, -1, 6, 68},
|
|
||||||
{2, 3, 0, 2, 3, 73},
|
|
||||||
{5, 1, -1, -3, 7, 76},
|
|
||||||
{1, 1, -1, 0, 3, 77},
|
|
||||||
{3, 8, 0, 0, 3, 78},
|
|
||||||
{5, 8, 0, 0, 6, 86},
|
|
||||||
{2, 8, -1, 0, 6, 94},
|
|
||||||
{5, 8, 0, 0, 6, 102},
|
|
||||||
{5, 8, 0, 0, 6, 110},
|
|
||||||
{5, 8, 0, 0, 6, 118},
|
|
||||||
{5, 8, 0, 0, 6, 126},
|
|
||||||
{5, 8, 0, 0, 6, 134},
|
|
||||||
{5, 8, 0, 0, 6, 142},
|
|
||||||
{5, 8, 0, 0, 6, 150},
|
|
||||||
{5, 8, 0, 0, 6, 158},
|
|
||||||
{1, 6, -1, 0, 3, 166},
|
|
||||||
{2, 8, 0, 2, 3, 172},
|
|
||||||
{3, 5, -1, -1, 6, 180},
|
|
||||||
{4, 3, 0, -2, 5, 185},
|
|
||||||
{3, 5, -1, -1, 6, 188},
|
|
||||||
{4, 8, -1, 0, 6, 193},
|
|
||||||
{10, 10, 0, 2, 11, 201},
|
|
||||||
{7, 8, 0, 0, 7, 221},
|
|
||||||
{5, 8, -1, 0, 7, 229},
|
|
||||||
{6, 8, -1, 0, 8, 237},
|
|
||||||
{6, 8, -1, 0, 8, 245},
|
|
||||||
{5, 8, -1, 0, 7, 253},
|
|
||||||
{5, 8, -1, 0, 6, 261},
|
|
||||||
{6, 8, -1, 0, 8, 269},
|
|
||||||
{6, 8, -1, 0, 8, 277},
|
|
||||||
{1, 8, -1, 0, 3, 285},
|
|
||||||
{4, 8, 0, 0, 5, 293},
|
|
||||||
{5, 8, -1, 0, 7, 301},
|
|
||||||
{4, 8, -1, 0, 6, 309},
|
|
||||||
{7, 8, -1, 0, 9, 317},
|
|
||||||
{6, 8, -1, 0, 8, 325},
|
|
||||||
{6, 8, -1, 0, 8, 333},
|
|
||||||
{5, 8, -1, 0, 7, 341},
|
|
||||||
{7, 9, -1, 1, 8, 349},
|
|
||||||
{5, 8, -1, 0, 7, 358},
|
|
||||||
{5, 8, -1, 0, 7, 366},
|
|
||||||
{5, 8, 0, 0, 5, 374},
|
|
||||||
{6, 8, -1, 0, 8, 382},
|
|
||||||
{7, 8, 0, 0, 7, 390},
|
|
||||||
{9, 8, 0, 0, 9, 398},
|
|
||||||
{5, 8, -1, 0, 7, 414},
|
|
||||||
{7, 8, 0, 0, 7, 422},
|
|
||||||
{5, 8, -1, 0, 7, 430},
|
|
||||||
{2, 10, -1, 2, 3, 438},
|
|
||||||
{3, 8, 0, 0, 3, 448},
|
|
||||||
{2, 10, 0, 2, 3, 456},
|
|
||||||
{5, 5, 0, -3, 6, 466},
|
|
||||||
{6, 1, 0, 2, 6, 471},
|
|
||||||
{2, 3, 0, -5, 3, 472},
|
|
||||||
{5, 6, 0, 0, 5, 475},
|
|
||||||
{5, 8, 0, 0, 6, 481},
|
|
||||||
{4, 6, 0, 0, 5, 489},
|
|
||||||
{5, 8, 0, 0, 6, 495},
|
|
||||||
{4, 6, 0, 0, 5, 503},
|
|
||||||
{4, 8, 0, 0, 4, 509},
|
|
||||||
{5, 8, 0, 2, 6, 517},
|
|
||||||
{5, 8, 0, 0, 6, 525},
|
|
||||||
{1, 8, 0, 0, 2, 533},
|
|
||||||
{1, 9, 0, 1, 2, 541},
|
|
||||||
{4, 8, 0, 0, 5, 550},
|
|
||||||
{1, 8, 0, 0, 2, 558},
|
|
||||||
{7, 6, 0, 0, 8, 566},
|
|
||||||
{5, 6, 0, 0, 6, 572},
|
|
||||||
{5, 6, 0, 0, 6, 578},
|
|
||||||
{5, 8, 0, 2, 6, 584},
|
|
||||||
{5, 8, 0, 2, 6, 592},
|
|
||||||
{3, 6, 0, 0, 4, 600},
|
|
||||||
{4, 6, 0, 0, 5, 606},
|
|
||||||
{3, 8, 0, 0, 4, 612},
|
|
||||||
{4, 6, 0, 0, 5, 620},
|
|
||||||
{5, 6, 0, 0, 6, 626},
|
|
||||||
{7, 6, 0, 0, 8, 632},
|
|
||||||
{5, 6, 0, 0, 6, 638},
|
|
||||||
{4, 8, 0, 2, 5, 644},
|
|
||||||
{4, 6, 0, 0, 5, 652},
|
|
||||||
{3, 10, 0, 2, 3, 658},
|
|
||||||
{1, 10, -1, 2, 3, 668},
|
|
||||||
{3, 10, 0, 2, 3, 678},
|
|
||||||
{6, 2, 0, -3, 7, 688},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 3, -1},
|
|
||||||
{1, 8, -1, 2, 3, 690},
|
|
||||||
{5, 8, 0, 1, 6, 698},
|
|
||||||
{5, 8, 0, 0, 6, 706},
|
|
||||||
{4, 6, 0, -1, 5, 714},
|
|
||||||
{5, 8, 0, 0, 6, 720},
|
|
||||||
{1, 10, -1, 2, 3, 728},
|
|
||||||
{5, 10, 0, 2, 6, 738},
|
|
||||||
{3, 1, 0, -7, 3, 748},
|
|
||||||
{7, 7, -1, 0, 9, 749},
|
|
||||||
{3, 5, 0, -3, 4, 756},
|
|
||||||
{5, 5, 0, 0, 6, 761},
|
|
||||||
{5, 3, -1, -2, 7, 766},
|
|
||||||
{3, 1, 0, -3, 4, 769},
|
|
||||||
{7, 7, -1, 0, 9, 770},
|
|
||||||
{3, 1, 0, -7, 3, 777},
|
|
||||||
{4, 4, 0, -3, 4, 778},
|
|
||||||
{5, 7, 0, 0, 6, 782},
|
|
||||||
{3, 4, 0, -3, 3, 789},
|
|
||||||
{3, 4, 0, -3, 3, 793},
|
|
||||||
{2, 2, 0, -6, 3, 797},
|
|
||||||
{4, 8, 0, 2, 5, 799},
|
|
||||||
{6, 10, 0, 2, 6, 807},
|
|
||||||
{2, 1, 0, -3, 3, 817},
|
|
||||||
{2, 2, 0, 2, 3, 818},
|
|
||||||
{2, 4, 0, -3, 3, 820},
|
|
||||||
{3, 5, 0, -3, 4, 824},
|
|
||||||
{5, 5, 0, 0, 6, 829},
|
|
||||||
{9, 8, 0, 0, 9, 834},
|
|
||||||
{8, 8, 0, 0, 9, 850},
|
|
||||||
{9, 8, 0, 0, 9, 858},
|
|
||||||
{4, 8, -1, 2, 6, 874},
|
|
||||||
{7, 11, 0, 0, 7, 882},
|
|
||||||
{7, 11, 0, 0, 7, 893},
|
|
||||||
{7, 11, 0, 0, 7, 904},
|
|
||||||
{7, 11, 0, 0, 7, 915},
|
|
||||||
{7, 10, 0, 0, 7, 926},
|
|
||||||
{7, 11, 0, 0, 7, 936},
|
|
||||||
{9, 8, 0, 0, 10, 947},
|
|
||||||
{6, 10, -1, 2, 8, 963},
|
|
||||||
{5, 11, -1, 0, 7, 973},
|
|
||||||
{5, 11, -1, 0, 7, 984},
|
|
||||||
{5, 11, -1, 0, 7, 995},
|
|
||||||
{5, 10, -1, 0, 7, 1006},
|
|
||||||
{2, 11, 0, 0, 3, 1016},
|
|
||||||
{2, 11, -1, 0, 3, 1027},
|
|
||||||
{3, 11, 0, 0, 3, 1038},
|
|
||||||
{3, 10, 0, 0, 3, 1049},
|
|
||||||
{7, 8, 0, 0, 8, 1059},
|
|
||||||
{6, 11, -1, 0, 8, 1067},
|
|
||||||
{6, 11, -1, 0, 8, 1078},
|
|
||||||
{6, 11, -1, 0, 8, 1089},
|
|
||||||
{6, 11, -1, 0, 8, 1100},
|
|
||||||
{6, 11, -1, 0, 8, 1111},
|
|
||||||
{6, 10, -1, 0, 8, 1122},
|
|
||||||
{5, 5, 0, -1, 6, 1132},
|
|
||||||
{6, 10, -1, 1, 8, 1137},
|
|
||||||
{6, 11, -1, 0, 8, 1147},
|
|
||||||
{6, 11, -1, 0, 8, 1158},
|
|
||||||
{6, 11, -1, 0, 8, 1169},
|
|
||||||
{6, 10, -1, 0, 8, 1180},
|
|
||||||
{7, 11, 0, 0, 7, 1190},
|
|
||||||
{5, 8, -1, 0, 7, 1201},
|
|
||||||
{4, 8, 0, 0, 5, 1209},
|
|
||||||
{5, 9, 0, 0, 5, 1217},
|
|
||||||
{5, 9, 0, 0, 5, 1226},
|
|
||||||
{5, 9, 0, 0, 5, 1235},
|
|
||||||
{5, 9, 0, 0, 5, 1244},
|
|
||||||
{5, 8, 0, 0, 5, 1253},
|
|
||||||
{5, 9, 0, 0, 5, 1261},
|
|
||||||
{7, 6, 0, 0, 8, 1270},
|
|
||||||
{4, 8, 0, 2, 5, 1276},
|
|
||||||
{4, 9, 0, 0, 5, 1284},
|
|
||||||
{4, 9, 0, 0, 5, 1293},
|
|
||||||
{4, 9, 0, 0, 5, 1302},
|
|
||||||
{4, 8, 0, 0, 5, 1311},
|
|
||||||
{2, 9, 1, 0, 2, 1319},
|
|
||||||
{2, 9, 0, 0, 2, 1328},
|
|
||||||
{3, 9, 1, 0, 2, 1337},
|
|
||||||
{3, 8, 0, 0, 2, 1346},
|
|
||||||
{5, 9, 0, 0, 6, 1354},
|
|
||||||
{4, 9, 0, 0, 5, 1363},
|
|
||||||
{5, 9, 0, 0, 6, 1372},
|
|
||||||
{5, 9, 0, 0, 6, 1381},
|
|
||||||
{5, 9, 0, 0, 6, 1390},
|
|
||||||
{5, 9, 0, 0, 6, 1399},
|
|
||||||
{5, 8, 0, 0, 6, 1408},
|
|
||||||
{5, 5, 0, -1, 6, 1416},
|
|
||||||
{6, 6, 0, 0, 6, 1421},
|
|
||||||
{4, 9, 0, 0, 5, 1427},
|
|
||||||
{4, 9, 0, 0, 5, 1436},
|
|
||||||
{4, 9, 0, 0, 5, 1445},
|
|
||||||
{4, 8, 0, 0, 5, 1454},
|
|
||||||
{4, 11, 0, 2, 5, 1462},
|
|
||||||
{5, 10, 0, 2, 6, 1473},
|
|
||||||
{4, 10, 0, 2, 5, 1483},
|
|
||||||
},
|
|
||||||
bitmap_data
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,525 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
|
|
||||||
#if BMF_INCLUDE_HELV12
|
|
||||||
|
|
||||||
static unsigned char bitmap_data[]= {
|
|
||||||
0x80,0x00,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0xa0,0xa0,0xa0,0x50,0x50,0x50,0xfc,
|
|
||||||
0x28,0xfc,0x28,0x28,0x20,0x70,0xa8,0xa8,
|
|
||||||
0x28,0x70,0xa0,0xa8,0x70,0x20,0x23,0x00,
|
|
||||||
0x14,0x80,0x14,0x80,0x13,0x00,0x08,0x00,
|
|
||||||
0x68,0x00,0x94,0x00,0x94,0x00,0x62,0x00,
|
|
||||||
0x72,0x8c,0x84,0x8a,0x50,0x30,0x48,0x48,
|
|
||||||
0x30,0x80,0x40,0xc0,0x20,0x40,0x40,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x40,0x40,0x20,
|
|
||||||
0x80,0x40,0x40,0x20,0x20,0x20,0x20,0x20,
|
|
||||||
0x20,0x40,0x40,0x80,0xa0,0x40,0xa0,0x20,
|
|
||||||
0x20,0xf8,0x20,0x20,0x80,0x40,0x40,0xf8,
|
|
||||||
0x80,0x80,0x80,0x40,0x40,0x40,0x20,0x20,
|
|
||||||
0x10,0x10,0x70,0x88,0x88,0x88,0x88,0x88,
|
|
||||||
0x88,0x88,0x70,0x20,0x20,0x20,0x20,0x20,
|
|
||||||
0x20,0x20,0xe0,0x20,0xf8,0x80,0x80,0x40,
|
|
||||||
0x20,0x10,0x08,0x88,0x70,0x70,0x88,0x88,
|
|
||||||
0x08,0x08,0x30,0x08,0x88,0x70,0x08,0x08,
|
|
||||||
0xfc,0x88,0x48,0x28,0x28,0x18,0x08,0x70,
|
|
||||||
0x88,0x88,0x08,0x08,0xf0,0x80,0x80,0xf8,
|
|
||||||
0x70,0x88,0x88,0x88,0xc8,0xb0,0x80,0x88,
|
|
||||||
0x70,0x40,0x40,0x20,0x20,0x20,0x10,0x10,
|
|
||||||
0x08,0xf8,0x70,0x88,0x88,0x88,0x88,0x70,
|
|
||||||
0x88,0x88,0x70,0x70,0x88,0x08,0x08,0x78,
|
|
||||||
0x88,0x88,0x88,0x70,0x80,0x00,0x00,0x00,
|
|
||||||
0x00,0x80,0x80,0x40,0x40,0x00,0x00,0x00,
|
|
||||||
0x00,0x40,0x0c,0x30,0xc0,0x30,0x0c,0xf8,
|
|
||||||
0x00,0xf8,0xc0,0x30,0x0c,0x30,0xc0,0x20,
|
|
||||||
0x00,0x20,0x20,0x10,0x10,0x88,0x88,0x70,
|
|
||||||
0x3e,0x00,0x40,0x00,0x9b,0x00,0xa6,0x80,
|
|
||||||
0xa2,0x40,0xa2,0x40,0x92,0x40,0x4d,0x40,
|
|
||||||
0x60,0x80,0x1f,0x00,0x82,0x82,0x82,0x7c,
|
|
||||||
0x44,0x44,0x28,0x28,0x10,0xf8,0x84,0x84,
|
|
||||||
0x84,0xf8,0x84,0x84,0x84,0xf8,0x3c,0x42,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x42,0x3c,0xf8,
|
|
||||||
0x84,0x82,0x82,0x82,0x82,0x82,0x84,0xf8,
|
|
||||||
0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,
|
|
||||||
0xfc,0x80,0x80,0x80,0x80,0xf8,0x80,0x80,
|
|
||||||
0x80,0xfc,0x3a,0x46,0x82,0x82,0x8e,0x80,
|
|
||||||
0x80,0x42,0x3c,0x82,0x82,0x82,0x82,0xfe,
|
|
||||||
0x82,0x82,0x82,0x82,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x70,0x88,0x88,
|
|
||||||
0x08,0x08,0x08,0x08,0x08,0x08,0x82,0x84,
|
|
||||||
0x88,0x90,0xe0,0xa0,0x90,0x88,0x84,0xf8,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x88,0x80,0x88,0x80,0x94,0x80,0x94,0x80,
|
|
||||||
0xa2,0x80,0xa2,0x80,0xc1,0x80,0xc1,0x80,
|
|
||||||
0x80,0x80,0x82,0x86,0x8a,0x8a,0x92,0xa2,
|
|
||||||
0xa2,0xc2,0x82,0x3c,0x42,0x81,0x81,0x81,
|
|
||||||
0x81,0x81,0x42,0x3c,0x80,0x80,0x80,0x80,
|
|
||||||
0xf8,0x84,0x84,0x84,0xf8,0x3d,0x42,0x85,
|
|
||||||
0x89,0x81,0x81,0x81,0x42,0x3c,0x84,0x84,
|
|
||||||
0x84,0x88,0xf8,0x84,0x84,0x84,0xf8,0x78,
|
|
||||||
0x84,0x84,0x04,0x18,0x60,0x80,0x84,0x78,
|
|
||||||
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
|
|
||||||
0xfe,0x78,0x84,0x84,0x84,0x84,0x84,0x84,
|
|
||||||
0x84,0x84,0x10,0x10,0x28,0x28,0x44,0x44,
|
|
||||||
0x44,0x82,0x82,0x22,0x00,0x22,0x00,0x22,
|
|
||||||
0x00,0x55,0x00,0x55,0x00,0x49,0x00,0x88,
|
|
||||||
0x80,0x88,0x80,0x88,0x80,0x82,0x44,0x44,
|
|
||||||
0x28,0x10,0x28,0x44,0x44,0x82,0x10,0x10,
|
|
||||||
0x10,0x10,0x28,0x44,0x44,0x82,0x82,0xfe,
|
|
||||||
0x80,0x40,0x20,0x10,0x08,0x04,0x02,0xfe,
|
|
||||||
0xc0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0xc0,0x10,0x10,0x20,0x20,
|
|
||||||
0x20,0x40,0x40,0x80,0x80,0xc0,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0xc0,0x88,0x50,0x20,0xfe,0xc0,0x80,0x40,
|
|
||||||
0x74,0x88,0x88,0x78,0x08,0x88,0x70,0xb0,
|
|
||||||
0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
|
|
||||||
0x70,0x88,0x80,0x80,0x80,0x88,0x70,0x68,
|
|
||||||
0x98,0x88,0x88,0x88,0x98,0x68,0x08,0x08,
|
|
||||||
0x70,0x88,0x80,0xf8,0x88,0x88,0x70,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0xe0,0x40,0x30,
|
|
||||||
0x70,0x88,0x08,0x68,0x98,0x88,0x88,0x88,
|
|
||||||
0x98,0x68,0x88,0x88,0x88,0x88,0x88,0xc8,
|
|
||||||
0xb0,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x00,0x80,0x80,0x40,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x00,0x40,
|
|
||||||
0x88,0x90,0xa0,0xc0,0xc0,0xa0,0x90,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x92,0x92,0x92,0x92,0x92,0xda,
|
|
||||||
0xa4,0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,
|
|
||||||
0x70,0x88,0x88,0x88,0x88,0x88,0x70,0x80,
|
|
||||||
0x80,0x80,0xb0,0xc8,0x88,0x88,0x88,0xc8,
|
|
||||||
0xb0,0x08,0x08,0x08,0x68,0x98,0x88,0x88,
|
|
||||||
0x88,0x98,0x68,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0xc0,0xa0,0x60,0x90,0x10,0x60,0x80,0x90,
|
|
||||||
0x60,0x60,0x40,0x40,0x40,0x40,0x40,0xe0,
|
|
||||||
0x40,0x40,0x68,0x98,0x88,0x88,0x88,0x88,
|
|
||||||
0x88,0x20,0x20,0x50,0x50,0x88,0x88,0x88,
|
|
||||||
0x22,0x00,0x22,0x00,0x55,0x00,0x49,0x00,
|
|
||||||
0x49,0x00,0x88,0x80,0x88,0x80,0x84,0x84,
|
|
||||||
0x48,0x30,0x30,0x48,0x84,0x80,0x40,0x20,
|
|
||||||
0x20,0x50,0x50,0x90,0x88,0x88,0x88,0xf0,
|
|
||||||
0x80,0x40,0x40,0x20,0x10,0xf0,0x30,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x80,0x40,0x40,0x40,
|
|
||||||
0x40,0x30,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0xc0,0x20,
|
|
||||||
0x20,0x20,0x20,0x20,0x10,0x20,0x20,0x20,
|
|
||||||
0x20,0xc0,0x98,0x64,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x00,0x80,0x40,0x70,
|
|
||||||
0xc8,0xa0,0xa0,0xa0,0xa8,0x70,0x10,0xb0,
|
|
||||||
0x48,0x20,0x20,0xf0,0x40,0x40,0x48,0x30,
|
|
||||||
0x84,0x78,0x48,0x48,0x78,0x84,0x20,0x20,
|
|
||||||
0xf8,0x20,0xf8,0x20,0x50,0x88,0x88,0x80,
|
|
||||||
0x80,0x80,0x80,0x00,0x00,0x00,0x80,0x80,
|
|
||||||
0x80,0x80,0x70,0x88,0x08,0x30,0x48,0x88,
|
|
||||||
0x88,0x90,0x60,0x80,0x88,0x70,0xa0,0x3e,
|
|
||||||
0x00,0x41,0x00,0x9c,0x80,0xa2,0x80,0xa0,
|
|
||||||
0x80,0xa2,0x80,0x9c,0x80,0x41,0x00,0x3e,
|
|
||||||
0x00,0xe0,0x00,0xa0,0x20,0xe0,0x28,0x50,
|
|
||||||
0xa0,0x50,0x28,0x04,0x04,0x04,0xfc,0xf0,
|
|
||||||
0x3e,0x00,0x41,0x00,0x94,0x80,0x94,0x80,
|
|
||||||
0x98,0x80,0x94,0x80,0x9c,0x80,0x41,0x00,
|
|
||||||
0x3e,0x00,0xf0,0x60,0x90,0x90,0x60,0xf8,
|
|
||||||
0x00,0x20,0x20,0xf8,0x20,0x20,0xf0,0x40,
|
|
||||||
0x20,0x90,0x60,0xc0,0x20,0x40,0x20,0xe0,
|
|
||||||
0x80,0x40,0x80,0x80,0x80,0xe8,0x98,0x88,
|
|
||||||
0x88,0x88,0x88,0x88,0x28,0x28,0x28,0x28,
|
|
||||||
0x28,0x28,0x68,0xe8,0xe8,0xe8,0x68,0x3c,
|
|
||||||
0x80,0xc0,0x20,0x20,0x40,0x40,0x40,0x40,
|
|
||||||
0xc0,0x40,0xe0,0x00,0xe0,0xa0,0xe0,0xa0,
|
|
||||||
0x50,0x28,0x50,0xa0,0x41,0x00,0x27,0x80,
|
|
||||||
0x15,0x00,0x13,0x00,0x49,0x00,0x44,0x00,
|
|
||||||
0x44,0x00,0xc2,0x00,0x41,0x00,0x47,0x80,
|
|
||||||
0x22,0x00,0x11,0x00,0x14,0x80,0x4b,0x00,
|
|
||||||
0x48,0x00,0x44,0x00,0xc2,0x00,0x41,0x00,
|
|
||||||
0x21,0x00,0x17,0x80,0x15,0x00,0x0b,0x00,
|
|
||||||
0xc9,0x00,0x24,0x00,0x44,0x00,0x22,0x00,
|
|
||||||
0xe1,0x00,0x70,0x88,0x88,0x40,0x40,0x20,
|
|
||||||
0x20,0x00,0x20,0x82,0x82,0x82,0x7c,0x44,
|
|
||||||
0x44,0x28,0x10,0x10,0x00,0x10,0x20,0x82,
|
|
||||||
0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,
|
|
||||||
0x00,0x10,0x08,0x82,0x82,0x82,0x7c,0x44,
|
|
||||||
0x44,0x28,0x10,0x10,0x00,0x28,0x10,0x82,
|
|
||||||
0x82,0x82,0x7c,0x44,0x44,0x28,0x10,0x10,
|
|
||||||
0x00,0x28,0x14,0x82,0x82,0x82,0x7c,0x44,
|
|
||||||
0x44,0x28,0x10,0x10,0x00,0x28,0x82,0x82,
|
|
||||||
0x82,0x7c,0x44,0x44,0x28,0x10,0x10,0x10,
|
|
||||||
0x28,0x10,0x8f,0x80,0x88,0x00,0x88,0x00,
|
|
||||||
0x78,0x00,0x4f,0x80,0x48,0x00,0x28,0x00,
|
|
||||||
0x28,0x00,0x1f,0x80,0x30,0x08,0x08,0x3c,
|
|
||||||
0x42,0x80,0x80,0x80,0x80,0x80,0x42,0x3c,
|
|
||||||
0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,
|
|
||||||
0xfc,0x00,0x10,0x20,0xfc,0x80,0x80,0x80,
|
|
||||||
0xfc,0x80,0x80,0x80,0xfc,0x00,0x10,0x08,
|
|
||||||
0xfc,0x80,0x80,0x80,0xfc,0x80,0x80,0x80,
|
|
||||||
0xfc,0x00,0x28,0x10,0xfc,0x80,0x80,0x80,
|
|
||||||
0xfc,0x80,0x80,0x80,0xfc,0x00,0x28,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x00,0x40,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x00,0x80,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x00,0xa0,0x40,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x00,0xa0,0x7c,0x42,
|
|
||||||
0x41,0x41,0xf1,0x41,0x41,0x42,0x7c,0x82,
|
|
||||||
0x86,0x8a,0x8a,0x92,0xa2,0xa2,0xc2,0x82,
|
|
||||||
0x00,0x28,0x14,0x3c,0x42,0x81,0x81,0x81,
|
|
||||||
0x81,0x81,0x42,0x3c,0x00,0x08,0x10,0x3c,
|
|
||||||
0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,
|
|
||||||
0x00,0x08,0x04,0x3c,0x42,0x81,0x81,0x81,
|
|
||||||
0x81,0x81,0x42,0x3c,0x00,0x14,0x08,0x3c,
|
|
||||||
0x42,0x81,0x81,0x81,0x81,0x81,0x42,0x3c,
|
|
||||||
0x00,0x28,0x14,0x3c,0x42,0x81,0x81,0x81,
|
|
||||||
0x81,0x81,0x42,0x3c,0x00,0x24,0x88,0x50,
|
|
||||||
0x20,0x50,0x88,0x80,0x00,0x5e,0x00,0x21,
|
|
||||||
0x00,0x50,0x80,0x48,0x80,0x44,0x80,0x44,
|
|
||||||
0x80,0x42,0x80,0x21,0x00,0x1e,0x80,0x00,
|
|
||||||
0x40,0x78,0x84,0x84,0x84,0x84,0x84,0x84,
|
|
||||||
0x84,0x84,0x00,0x10,0x20,0x78,0x84,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x84,0x84,0x00,0x10,
|
|
||||||
0x08,0x78,0x84,0x84,0x84,0x84,0x84,0x84,
|
|
||||||
0x84,0x84,0x00,0x28,0x10,0x78,0x84,0x84,
|
|
||||||
0x84,0x84,0x84,0x84,0x84,0x84,0x00,0x48,
|
|
||||||
0x10,0x10,0x10,0x10,0x28,0x44,0x44,0x82,
|
|
||||||
0x82,0x00,0x10,0x08,0x80,0x80,0xf8,0x84,
|
|
||||||
0x84,0x84,0xf8,0x80,0x80,0xb0,0x88,0x88,
|
|
||||||
0x88,0xb0,0x88,0x88,0x88,0x70,0x74,0x88,
|
|
||||||
0x88,0x78,0x08,0x88,0x70,0x00,0x10,0x20,
|
|
||||||
0x74,0x88,0x88,0x78,0x08,0x88,0x70,0x00,
|
|
||||||
0x20,0x10,0x74,0x88,0x88,0x78,0x08,0x88,
|
|
||||||
0x70,0x00,0x50,0x20,0x74,0x88,0x88,0x78,
|
|
||||||
0x08,0x88,0x70,0x00,0x50,0x28,0x74,0x88,
|
|
||||||
0x88,0x78,0x08,0x88,0x70,0x00,0x50,0x74,
|
|
||||||
0x88,0x88,0x78,0x08,0x88,0x70,0x30,0x48,
|
|
||||||
0x30,0x77,0x00,0x88,0x80,0x88,0x00,0x7f,
|
|
||||||
0x80,0x08,0x80,0x88,0x80,0x77,0x00,0x60,
|
|
||||||
0x10,0x20,0x70,0x88,0x80,0x80,0x80,0x88,
|
|
||||||
0x70,0x70,0x88,0x80,0xf8,0x88,0x88,0x70,
|
|
||||||
0x00,0x20,0x40,0x70,0x88,0x80,0xf8,0x88,
|
|
||||||
0x88,0x70,0x00,0x20,0x10,0x70,0x88,0x80,
|
|
||||||
0xf8,0x88,0x88,0x70,0x00,0x50,0x20,0x70,
|
|
||||||
0x88,0x80,0xf8,0x88,0x88,0x70,0x00,0x50,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
|
|
||||||
0x40,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x00,0x80,0x40,0x40,0x40,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x00,0xa0,0x40,0x40,0x40,
|
|
||||||
0x40,0x40,0x40,0x40,0x40,0x00,0xa0,0x70,
|
|
||||||
0x88,0x88,0x88,0x88,0x78,0x08,0x50,0x30,
|
|
||||||
0x68,0x88,0x88,0x88,0x88,0x88,0xc8,0xb0,
|
|
||||||
0x00,0x50,0x28,0x70,0x88,0x88,0x88,0x88,
|
|
||||||
0x88,0x70,0x00,0x20,0x40,0x70,0x88,0x88,
|
|
||||||
0x88,0x88,0x88,0x70,0x00,0x20,0x10,0x70,
|
|
||||||
0x88,0x88,0x88,0x88,0x88,0x70,0x00,0x50,
|
|
||||||
0x20,0x70,0x88,0x88,0x88,0x88,0x88,0x70,
|
|
||||||
0x00,0x50,0x28,0x70,0x88,0x88,0x88,0x88,
|
|
||||||
0x88,0x70,0x00,0x50,0x20,0x00,0xf8,0x00,
|
|
||||||
0x20,0xb8,0x44,0x64,0x54,0x4c,0x44,0x3a,
|
|
||||||
0x68,0x98,0x88,0x88,0x88,0x88,0x88,0x00,
|
|
||||||
0x20,0x40,0x68,0x98,0x88,0x88,0x88,0x88,
|
|
||||||
0x88,0x00,0x20,0x10,0x68,0x98,0x88,0x88,
|
|
||||||
0x88,0x88,0x88,0x00,0x50,0x20,0x68,0x98,
|
|
||||||
0x88,0x88,0x88,0x88,0x88,0x00,0x50,0x80,
|
|
||||||
0x40,0x20,0x20,0x50,0x50,0x90,0x88,0x88,
|
|
||||||
0x88,0x00,0x20,0x10,0x80,0x80,0x80,0xb0,
|
|
||||||
0xc8,0x88,0x88,0x88,0xc8,0xb0,0x80,0x80,
|
|
||||||
0xc0,0x20,0x20,0x20,0x30,0x50,0x50,0x48,
|
|
||||||
0x88,0x88,0x00,0x50,
|
|
||||||
};
|
|
||||||
|
|
||||||
BMF_FontData BMF_font_helv12 = {
|
|
||||||
0, -3,
|
|
||||||
11, 12,
|
|
||||||
{
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 16, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 4, -1},
|
|
||||||
{1, 9, -1, 0, 3, 0},
|
|
||||||
{3, 3, -1, -6, 5, 9},
|
|
||||||
{6, 8, 0, 0, 7, 12},
|
|
||||||
{5, 10, -1, 1, 7, 20},
|
|
||||||
{9, 9, -1, 0, 11, 30},
|
|
||||||
{7, 9, -1, 0, 9, 48},
|
|
||||||
{2, 3, -1, -6, 3, 57},
|
|
||||||
{3, 12, -1, 3, 4, 60},
|
|
||||||
{3, 12, 0, 3, 4, 72},
|
|
||||||
{3, 3, -1, -6, 5, 84},
|
|
||||||
{5, 5, -1, -1, 7, 87},
|
|
||||||
{2, 3, -1, 2, 4, 92},
|
|
||||||
{5, 1, -1, -3, 8, 95},
|
|
||||||
{1, 1, -1, 0, 3, 96},
|
|
||||||
{4, 9, 0, 0, 4, 97},
|
|
||||||
{5, 9, -1, 0, 7, 106},
|
|
||||||
{3, 9, -1, 0, 7, 115},
|
|
||||||
{5, 9, -1, 0, 7, 124},
|
|
||||||
{5, 9, -1, 0, 7, 133},
|
|
||||||
{6, 9, 0, 0, 7, 142},
|
|
||||||
{5, 9, -1, 0, 7, 151},
|
|
||||||
{5, 9, -1, 0, 7, 160},
|
|
||||||
{5, 9, -1, 0, 7, 169},
|
|
||||||
{5, 9, -1, 0, 7, 178},
|
|
||||||
{5, 9, -1, 0, 7, 187},
|
|
||||||
{1, 6, -1, 0, 3, 196},
|
|
||||||
{2, 8, 0, 2, 3, 202},
|
|
||||||
{6, 5, 0, -1, 7, 210},
|
|
||||||
{5, 3, -1, -2, 7, 215},
|
|
||||||
{6, 5, -1, -1, 7, 218},
|
|
||||||
{5, 9, -1, 0, 7, 223},
|
|
||||||
{10, 10, -1, 1, 12, 232},
|
|
||||||
{7, 9, -1, 0, 9, 252},
|
|
||||||
{6, 9, -1, 0, 8, 261},
|
|
||||||
{7, 9, -1, 0, 9, 270},
|
|
||||||
{7, 9, -1, 0, 9, 279},
|
|
||||||
{6, 9, -1, 0, 8, 288},
|
|
||||||
{6, 9, -1, 0, 8, 297},
|
|
||||||
{7, 9, -1, 0, 9, 306},
|
|
||||||
{7, 9, -1, 0, 9, 315},
|
|
||||||
{1, 9, -1, 0, 3, 324},
|
|
||||||
{5, 9, -1, 0, 7, 333},
|
|
||||||
{7, 9, -1, 0, 8, 342},
|
|
||||||
{5, 9, -1, 0, 7, 351},
|
|
||||||
{9, 9, -1, 0, 11, 360},
|
|
||||||
{7, 9, -1, 0, 9, 378},
|
|
||||||
{8, 9, -1, 0, 10, 387},
|
|
||||||
{6, 9, -1, 0, 8, 396},
|
|
||||||
{8, 9, -1, 0, 10, 405},
|
|
||||||
{6, 9, -1, 0, 8, 414},
|
|
||||||
{6, 9, -1, 0, 8, 423},
|
|
||||||
{7, 9, 0, 0, 7, 432},
|
|
||||||
{6, 9, -1, 0, 8, 441},
|
|
||||||
{7, 9, -1, 0, 9, 450},
|
|
||||||
{9, 9, -1, 0, 11, 459},
|
|
||||||
{7, 9, -1, 0, 9, 477},
|
|
||||||
{7, 9, -1, 0, 9, 486},
|
|
||||||
{7, 9, -1, 0, 9, 495},
|
|
||||||
{2, 12, -1, 3, 3, 504},
|
|
||||||
{4, 9, 0, 0, 4, 516},
|
|
||||||
{2, 12, 0, 3, 3, 525},
|
|
||||||
{5, 3, 0, -5, 6, 537},
|
|
||||||
{7, 1, 0, 2, 7, 540},
|
|
||||||
{2, 3, 0, -6, 3, 541},
|
|
||||||
{6, 7, -1, 0, 7, 544},
|
|
||||||
{5, 9, -1, 0, 7, 551},
|
|
||||||
{5, 7, -1, 0, 7, 560},
|
|
||||||
{5, 9, -1, 0, 7, 567},
|
|
||||||
{5, 7, -1, 0, 7, 576},
|
|
||||||
{4, 9, 0, 0, 3, 583},
|
|
||||||
{5, 10, -1, 3, 7, 592},
|
|
||||||
{5, 9, -1, 0, 7, 602},
|
|
||||||
{1, 9, -1, 0, 3, 611},
|
|
||||||
{2, 12, 0, 3, 3, 620},
|
|
||||||
{5, 9, -1, 0, 6, 632},
|
|
||||||
{1, 9, -1, 0, 3, 641},
|
|
||||||
{7, 7, -1, 0, 9, 650},
|
|
||||||
{5, 7, -1, 0, 7, 657},
|
|
||||||
{5, 7, -1, 0, 7, 664},
|
|
||||||
{5, 10, -1, 3, 7, 671},
|
|
||||||
{5, 10, -1, 3, 7, 681},
|
|
||||||
{3, 7, -1, 0, 4, 691},
|
|
||||||
{4, 7, -1, 0, 6, 698},
|
|
||||||
{3, 9, 0, 0, 3, 705},
|
|
||||||
{5, 7, -1, 0, 7, 714},
|
|
||||||
{5, 7, -1, 0, 7, 721},
|
|
||||||
{9, 7, 0, 0, 9, 728},
|
|
||||||
{6, 7, 0, 0, 6, 742},
|
|
||||||
{5, 10, -1, 3, 7, 749},
|
|
||||||
{4, 7, -1, 0, 6, 759},
|
|
||||||
{4, 12, 0, 3, 4, 766},
|
|
||||||
{1, 12, -1, 3, 3, 778},
|
|
||||||
{4, 12, 0, 3, 4, 790},
|
|
||||||
{6, 2, 0, -3, 7, 802},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 4, -1},
|
|
||||||
{1, 10, -1, 3, 3, 804},
|
|
||||||
{5, 9, -1, 1, 7, 814},
|
|
||||||
{5, 9, -1, 0, 7, 823},
|
|
||||||
{6, 6, 0, -1, 7, 832},
|
|
||||||
{5, 9, -1, 0, 7, 838},
|
|
||||||
{1, 11, -1, 2, 3, 847},
|
|
||||||
{5, 12, 0, 3, 6, 858},
|
|
||||||
{3, 1, 0, -8, 3, 870},
|
|
||||||
{9, 9, -1, 0, 11, 871},
|
|
||||||
{3, 5, -1, -4, 5, 889},
|
|
||||||
{5, 5, -1, -1, 7, 894},
|
|
||||||
{6, 4, -1, -2, 8, 899},
|
|
||||||
{4, 1, 0, -3, 5, 903},
|
|
||||||
{9, 9, -1, 0, 11, 904},
|
|
||||||
{4, 1, 0, -8, 4, 922},
|
|
||||||
{4, 4, 0, -4, 5, 923},
|
|
||||||
{5, 7, -1, 0, 7, 927},
|
|
||||||
{4, 5, 0, -3, 4, 934},
|
|
||||||
{3, 5, 0, -3, 4, 939},
|
|
||||||
{2, 2, 0, -8, 2, 944},
|
|
||||||
{5, 10, -1, 3, 7, 946},
|
|
||||||
{6, 12, 0, 3, 7, 956},
|
|
||||||
{1, 1, -1, -3, 3, 968},
|
|
||||||
{3, 4, 0, 3, 3, 969},
|
|
||||||
{2, 5, -1, -3, 4, 973},
|
|
||||||
{3, 5, -1, -4, 5, 978},
|
|
||||||
{5, 5, -1, -1, 7, 983},
|
|
||||||
{9, 9, 0, 0, 10, 988},
|
|
||||||
{9, 9, 0, 0, 10, 1006},
|
|
||||||
{9, 9, 0, 0, 10, 1024},
|
|
||||||
{5, 9, -1, 3, 7, 1042},
|
|
||||||
{7, 12, -1, 0, 9, 1051},
|
|
||||||
{7, 12, -1, 0, 9, 1063},
|
|
||||||
{7, 12, -1, 0, 9, 1075},
|
|
||||||
{7, 12, -1, 0, 9, 1087},
|
|
||||||
{7, 11, -1, 0, 9, 1099},
|
|
||||||
{7, 12, -1, 0, 9, 1110},
|
|
||||||
{9, 9, -1, 0, 11, 1122},
|
|
||||||
{7, 12, -1, 3, 9, 1140},
|
|
||||||
{6, 12, -1, 0, 8, 1152},
|
|
||||||
{6, 12, -1, 0, 8, 1164},
|
|
||||||
{6, 12, -1, 0, 8, 1176},
|
|
||||||
{6, 11, -1, 0, 8, 1188},
|
|
||||||
{2, 12, 0, 0, 3, 1199},
|
|
||||||
{2, 12, -1, 0, 3, 1211},
|
|
||||||
{3, 12, 0, 0, 3, 1223},
|
|
||||||
{3, 11, 0, 0, 3, 1235},
|
|
||||||
{8, 9, 0, 0, 9, 1246},
|
|
||||||
{7, 12, -1, 0, 9, 1255},
|
|
||||||
{8, 12, -1, 0, 10, 1267},
|
|
||||||
{8, 12, -1, 0, 10, 1279},
|
|
||||||
{8, 12, -1, 0, 10, 1291},
|
|
||||||
{8, 12, -1, 0, 10, 1303},
|
|
||||||
{8, 11, -1, 0, 10, 1315},
|
|
||||||
{5, 5, -1, -1, 7, 1326},
|
|
||||||
{10, 11, 0, 1, 10, 1331},
|
|
||||||
{6, 12, -1, 0, 8, 1353},
|
|
||||||
{6, 12, -1, 0, 8, 1365},
|
|
||||||
{6, 12, -1, 0, 8, 1377},
|
|
||||||
{6, 11, -1, 0, 8, 1389},
|
|
||||||
{7, 12, -1, 0, 9, 1400},
|
|
||||||
{6, 9, -1, 0, 8, 1412},
|
|
||||||
{5, 9, -1, 0, 7, 1421},
|
|
||||||
{6, 10, -1, 0, 7, 1430},
|
|
||||||
{6, 10, -1, 0, 7, 1440},
|
|
||||||
{6, 10, -1, 0, 7, 1450},
|
|
||||||
{6, 10, -1, 0, 7, 1460},
|
|
||||||
{6, 9, -1, 0, 7, 1470},
|
|
||||||
{6, 10, -1, 0, 7, 1479},
|
|
||||||
{9, 7, -1, 0, 11, 1489},
|
|
||||||
{5, 10, -1, 3, 7, 1503},
|
|
||||||
{5, 10, -1, 0, 7, 1513},
|
|
||||||
{5, 10, -1, 0, 7, 1523},
|
|
||||||
{5, 10, -1, 0, 7, 1533},
|
|
||||||
{5, 9, -1, 0, 7, 1543},
|
|
||||||
{2, 10, 0, 0, 3, 1552},
|
|
||||||
{2, 10, -1, 0, 3, 1562},
|
|
||||||
{3, 10, 0, 0, 3, 1572},
|
|
||||||
{3, 9, 0, 0, 3, 1582},
|
|
||||||
{5, 10, -1, 0, 7, 1591},
|
|
||||||
{5, 10, -1, 0, 7, 1601},
|
|
||||||
{5, 10, -1, 0, 7, 1611},
|
|
||||||
{5, 10, -1, 0, 7, 1621},
|
|
||||||
{5, 10, -1, 0, 7, 1631},
|
|
||||||
{5, 10, -1, 0, 7, 1641},
|
|
||||||
{5, 9, -1, 0, 7, 1651},
|
|
||||||
{5, 5, -1, -1, 7, 1660},
|
|
||||||
{7, 7, 0, 0, 7, 1665},
|
|
||||||
{5, 10, -1, 0, 7, 1672},
|
|
||||||
{5, 10, -1, 0, 7, 1682},
|
|
||||||
{5, 10, -1, 0, 7, 1692},
|
|
||||||
{5, 9, -1, 0, 7, 1702},
|
|
||||||
{5, 13, -1, 3, 7, 1711},
|
|
||||||
{5, 12, -1, 3, 7, 1724},
|
|
||||||
{5, 12, -1, 3, 7, 1736},
|
|
||||||
},
|
|
||||||
bitmap_data
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,492 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
|
|
||||||
#if BMF_INCLUDE_HELVB10
|
|
||||||
|
|
||||||
static unsigned char bitmap_data[]= {
|
|
||||||
0x00,0xc0,0x00,0x80,0x80,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xa0,0xa0,0xa0,0x50,0x50,0xfc,0x28,
|
|
||||||
0x7e,0x28,0x28,0x20,0x70,0xa8,0x28,0x38,
|
|
||||||
0x70,0xe0,0xa8,0x70,0x20,0x8c,0x56,0x2c,
|
|
||||||
0x10,0x10,0x68,0xb4,0x62,0x76,0xdc,0xcc,
|
|
||||||
0xde,0x70,0xd8,0xd8,0x70,0x80,0x40,0xc0,
|
|
||||||
0xc0,0x20,0x60,0x40,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0x40,0x60,0x20,0x80,0xc0,0x40,0x60,0x60,
|
|
||||||
0x60,0x60,0x40,0xc0,0x80,0xa0,0x40,0xa0,
|
|
||||||
0x30,0x30,0xfc,0x30,0x30,0x80,0x40,0xc0,
|
|
||||||
0xc0,0xf8,0xc0,0xc0,0x80,0x80,0x40,0x40,
|
|
||||||
0x20,0x20,0x10,0x10,0x70,0xd8,0xd8,0xd8,
|
|
||||||
0xd8,0xd8,0xd8,0x70,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0xe0,0x60,0xf8,0xc0,0x60,0x30,
|
|
||||||
0x18,0x18,0xd8,0x70,0x70,0xd8,0x18,0x18,
|
|
||||||
0x30,0x18,0xd8,0x70,0x18,0x18,0xfc,0x98,
|
|
||||||
0x58,0x38,0x18,0x08,0x70,0xd8,0x98,0x18,
|
|
||||||
0xf0,0xc0,0xc0,0xf8,0x70,0xd8,0xd8,0xd8,
|
|
||||||
0xf0,0xc0,0xd8,0x70,0x60,0x60,0x60,0x30,
|
|
||||||
0x30,0x18,0x18,0xf8,0x70,0xd8,0xd8,0xd8,
|
|
||||||
0x70,0xd8,0xd8,0x70,0x70,0xd8,0x18,0x78,
|
|
||||||
0xd8,0xd8,0xd8,0x70,0xc0,0xc0,0x00,0x00,
|
|
||||||
0xc0,0xc0,0x80,0x40,0xc0,0xc0,0x00,0x00,
|
|
||||||
0xc0,0xc0,0x30,0x60,0xc0,0x60,0x30,0xf8,
|
|
||||||
0x00,0xf8,0xc0,0x60,0x30,0x60,0xc0,0x60,
|
|
||||||
0x00,0x60,0x60,0x30,0x18,0xd8,0x70,0x3e,
|
|
||||||
0x00,0x40,0x00,0x9b,0x00,0xa4,0x80,0xa2,
|
|
||||||
0x40,0x92,0x40,0x4d,0x40,0x60,0x80,0x1f,
|
|
||||||
0x00,0xc6,0xc6,0xfe,0x6c,0x6c,0x6c,0x38,
|
|
||||||
0x38,0xf8,0xcc,0xcc,0xcc,0xf8,0xcc,0xcc,
|
|
||||||
0xf8,0x3c,0x66,0xc2,0xc0,0xc0,0xc2,0x66,
|
|
||||||
0x3c,0xf0,0xd8,0xcc,0xcc,0xcc,0xcc,0xd8,
|
|
||||||
0xf0,0xf8,0xc0,0xc0,0xc0,0xf8,0xc0,0xc0,
|
|
||||||
0xf8,0xc0,0xc0,0xc0,0xc0,0xf0,0xc0,0xc0,
|
|
||||||
0xf8,0x3a,0x66,0xc6,0xce,0xc0,0xc2,0x66,
|
|
||||||
0x3c,0xcc,0xcc,0xcc,0xcc,0xfc,0xcc,0xcc,
|
|
||||||
0xcc,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0x70,0xd8,0x18,0x18,0x18,0x18,0x18,
|
|
||||||
0x18,0xc6,0xcc,0xd8,0xf0,0xe0,0xf0,0xd8,
|
|
||||||
0xcc,0xf8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc9,0x80,0xc9,0x80,0xdd,0x80,0xd5,
|
|
||||||
0x80,0xf7,0x80,0xe3,0x80,0xe3,0x80,0xc1,
|
|
||||||
0x80,0xc6,0xce,0xce,0xd6,0xd6,0xe6,0xe6,
|
|
||||||
0xc6,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0x6c,
|
|
||||||
0x38,0xc0,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,
|
|
||||||
0xf8,0x02,0x3c,0x6c,0xd6,0xc6,0xc6,0xc6,
|
|
||||||
0x6c,0x38,0xcc,0xcc,0xcc,0xf8,0xcc,0xcc,
|
|
||||||
0xcc,0xf8,0x78,0xcc,0x8c,0x1c,0x78,0xe0,
|
|
||||||
0xcc,0x78,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0xfc,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0x10,0x38,0x38,0x6c,0x6c,0x6c,
|
|
||||||
0xc6,0xc6,0x33,0x00,0x33,0x00,0x7f,0x80,
|
|
||||||
0x6d,0x80,0x6d,0x80,0xcc,0xc0,0xcc,0xc0,
|
|
||||||
0xcc,0xc0,0xc6,0xc6,0x6c,0x38,0x38,0x6c,
|
|
||||||
0xc6,0xc6,0x18,0x18,0x18,0x3c,0x66,0x66,
|
|
||||||
0xc3,0xc3,0xfc,0xc0,0x60,0x70,0x30,0x18,
|
|
||||||
0x0c,0xfc,0xe0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xe0,0x10,0x10,0x20,0x20,
|
|
||||||
0x40,0x40,0x80,0x80,0xe0,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0xe0,0x90,0x90,
|
|
||||||
0xf0,0x60,0xfc,0xc0,0xc0,0x80,0x40,0x6c,
|
|
||||||
0xd8,0xd8,0x78,0x98,0x70,0xf0,0xd8,0xd8,
|
|
||||||
0xd8,0xd8,0xf0,0xc0,0xc0,0x70,0xd0,0xc0,
|
|
||||||
0xc0,0xd0,0x70,0x78,0xd8,0xd8,0xd8,0xd8,
|
|
||||||
0x78,0x18,0x18,0x70,0xd8,0xc0,0xf8,0xd8,
|
|
||||||
0x70,0x60,0x60,0x60,0x60,0x60,0xf0,0x60,
|
|
||||||
0x38,0x70,0x18,0x78,0xd8,0xd8,0xd8,0xd8,
|
|
||||||
0x68,0xd8,0xd8,0xd8,0xd8,0xd8,0xf0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,
|
|
||||||
0xc0,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x00,0x60,0xcc,0xd8,0xf0,0xe0,0xf0,
|
|
||||||
0xd8,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xdb,0xdb,0xdb,0xdb,0xdb,
|
|
||||||
0xb6,0xd8,0xd8,0xd8,0xd8,0xd8,0xb0,0x70,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0x70,0xc0,0xc0,0xf0,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0xb0,0x18,0x18,0x78,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0x68,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xe0,0xb0,0x70,0xd8,0x18,0x70,0xd8,
|
|
||||||
0x70,0x30,0x60,0x60,0x60,0x60,0xf0,0x60,
|
|
||||||
0x60,0x68,0xd8,0xd8,0xd8,0xd8,0xd8,0x20,
|
|
||||||
0x70,0x50,0xd8,0xd8,0xd8,0x6c,0x6c,0x6c,
|
|
||||||
0xd6,0xd6,0xd6,0xcc,0xcc,0x78,0x30,0x78,
|
|
||||||
0xcc,0x60,0x30,0x30,0x78,0xd8,0xd8,0xd8,
|
|
||||||
0xd8,0xf8,0xc0,0x60,0x30,0x18,0xf8,0x30,
|
|
||||||
0x60,0x60,0x60,0x60,0xc0,0x60,0x60,0x60,
|
|
||||||
0x30,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0xc0,0x60,0x60,0x60,0x60,
|
|
||||||
0x30,0x60,0x60,0x60,0xc0,0xb0,0x68,0x00,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0x40,0x40,0x00,0xc0,
|
|
||||||
0x40,0x70,0xd8,0xa0,0xa0,0xd8,0x70,0x10,
|
|
||||||
0xd8,0x68,0x60,0x60,0xf0,0x60,0x68,0x38,
|
|
||||||
0x84,0x78,0x48,0x48,0x78,0x84,0x30,0xfc,
|
|
||||||
0x30,0xfc,0x48,0xcc,0x84,0x84,0x80,0x80,
|
|
||||||
0x80,0x80,0x00,0x00,0x80,0x80,0x80,0x80,
|
|
||||||
0x70,0x98,0x38,0x70,0xc8,0x98,0x70,0xe0,
|
|
||||||
0xc8,0x70,0xa0,0x3c,0x42,0x9d,0xa1,0xa5,
|
|
||||||
0x99,0x42,0x3c,0xe0,0x00,0xa0,0x20,0xe0,
|
|
||||||
0x6c,0xd8,0x6c,0x08,0x08,0xf8,0xf0,0x3c,
|
|
||||||
0x42,0xa5,0xb9,0xa5,0xbd,0x42,0x3c,0xe0,
|
|
||||||
0xc0,0xa0,0x60,0xfc,0x00,0x30,0x30,0xfc,
|
|
||||||
0x30,0x30,0xe0,0x40,0xa0,0x60,0xc0,0x20,
|
|
||||||
0x40,0xe0,0x80,0x40,0xc0,0xc0,0xe8,0xd8,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0x28,0x28,0x28,0x28,
|
|
||||||
0x28,0x68,0xe8,0xe8,0xe8,0x7c,0xc0,0xc0,
|
|
||||||
0x40,0x40,0x40,0xc0,0x40,0xe0,0x00,0xe0,
|
|
||||||
0xa0,0xe0,0xd8,0x6c,0xd8,0x42,0x2f,0x26,
|
|
||||||
0x12,0x48,0x48,0xc4,0x44,0x4e,0x24,0x2a,
|
|
||||||
0x16,0x48,0x48,0xc4,0x44,0x42,0x2f,0x26,
|
|
||||||
0x12,0xc8,0x28,0x44,0xe4,0x70,0xd8,0xc0,
|
|
||||||
0x60,0x30,0x30,0x00,0x30,0xc6,0xc6,0xfe,
|
|
||||||
0x6c,0x6c,0x6c,0x38,0x38,0x00,0x10,0x20,
|
|
||||||
0xc6,0xc6,0xfe,0x6c,0x6c,0x6c,0x38,0x38,
|
|
||||||
0x00,0x10,0x08,0xc6,0xc6,0xfe,0x6c,0x6c,
|
|
||||||
0x6c,0x38,0x38,0x00,0x28,0x10,0xc6,0xc6,
|
|
||||||
0xfe,0x6c,0x6c,0x6c,0x38,0x38,0x00,0x28,
|
|
||||||
0x14,0xc6,0xc6,0xfe,0x6c,0x6c,0x6c,0x38,
|
|
||||||
0x38,0x00,0x28,0xc6,0xc6,0xfe,0x6c,0x6c,
|
|
||||||
0x6c,0x38,0x38,0x10,0x28,0x10,0xcf,0x80,
|
|
||||||
0xcc,0x00,0xfc,0x00,0x6c,0x00,0x6f,0x80,
|
|
||||||
0x6c,0x00,0x3c,0x00,0x3f,0x80,0x30,0x10,
|
|
||||||
0x3c,0x66,0xc2,0xc0,0xc0,0xc2,0x66,0x3c,
|
|
||||||
0xf8,0xc0,0xc0,0xc0,0xf8,0xc0,0xc0,0xf8,
|
|
||||||
0x00,0x20,0x40,0xf8,0xc0,0xc0,0xc0,0xf8,
|
|
||||||
0xc0,0xc0,0xf8,0x00,0x20,0x10,0xf8,0xc0,
|
|
||||||
0xc0,0xc0,0xf8,0xc0,0xc0,0xf8,0x00,0x50,
|
|
||||||
0x20,0xf8,0xc0,0xc0,0xc0,0xf8,0xc0,0xc0,
|
|
||||||
0xf8,0x00,0x50,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0x00,0x40,0x80,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0x80,
|
|
||||||
0x40,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x00,0xa0,0x40,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x00,0x90,0x78,0x6c,
|
|
||||||
0x66,0x66,0xf6,0x66,0x6c,0x78,0xc6,0xce,
|
|
||||||
0xce,0xd6,0xd6,0xe6,0xe6,0xc6,0x00,0x28,
|
|
||||||
0x14,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,0x6c,
|
|
||||||
0x38,0x00,0x08,0x10,0x38,0x6c,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0x6c,0x38,0x00,0x10,0x08,0x38,
|
|
||||||
0x6c,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x00,
|
|
||||||
0x28,0x10,0x38,0x6c,0xc6,0xc6,0xc6,0xc6,
|
|
||||||
0x6c,0x38,0x00,0x28,0x14,0x38,0x6c,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0x6c,0x38,0x00,0x28,0xcc,
|
|
||||||
0x78,0x30,0x78,0xcc,0xb8,0x6c,0xe6,0xd6,
|
|
||||||
0xd6,0xce,0x6c,0x3a,0x78,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0x00,0x10,0x20,0x78,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x00,
|
|
||||||
0x10,0x08,0x78,0xcc,0xcc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0x00,0x50,0x20,0x78,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0xcc,0x00,0x48,0x18,
|
|
||||||
0x18,0x18,0x3c,0x66,0x66,0xc3,0xc3,0x00,
|
|
||||||
0x08,0x04,0xc0,0xc0,0xf8,0xcc,0xcc,0xcc,
|
|
||||||
0xf8,0xc0,0xd0,0xc8,0xc8,0xc8,0xd0,0xc8,
|
|
||||||
0xc8,0x70,0x6c,0xd8,0xd8,0x78,0x98,0x70,
|
|
||||||
0x00,0x10,0x20,0x6c,0xd8,0xd8,0x78,0x98,
|
|
||||||
0x70,0x00,0x20,0x10,0x6c,0xd8,0xd8,0x78,
|
|
||||||
0x98,0x70,0x00,0x50,0x20,0x6c,0xd8,0xd8,
|
|
||||||
0x78,0x98,0x70,0x00,0x50,0x28,0x6c,0xd8,
|
|
||||||
0xd8,0x78,0x98,0x70,0x00,0x50,0x6c,0xd8,
|
|
||||||
0xd8,0x78,0x98,0x70,0x20,0x50,0x20,0x6e,
|
|
||||||
0xdb,0xd8,0x7f,0x9b,0x7e,0x60,0x20,0x70,
|
|
||||||
0xd0,0xc0,0xc0,0xd0,0x70,0x70,0xd8,0xc0,
|
|
||||||
0xf8,0xd8,0x70,0x00,0x20,0x40,0x70,0xd8,
|
|
||||||
0xc0,0xf8,0xd8,0x70,0x00,0x20,0x10,0x70,
|
|
||||||
0xd8,0xc0,0xf8,0xd8,0x70,0x00,0x50,0x20,
|
|
||||||
0x70,0xd8,0xc0,0xf8,0xd8,0x70,0x00,0x50,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0x40,
|
|
||||||
0x80,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,
|
|
||||||
0x80,0x40,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0x00,0xa0,0x40,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0x00,0xa0,0x70,0xd8,0xd8,0xd8,0xd8,
|
|
||||||
0x70,0xa0,0x60,0x50,0xd8,0xd8,0xd8,0xd8,
|
|
||||||
0xd8,0xb0,0x00,0xa0,0x50,0x70,0xd8,0xd8,
|
|
||||||
0xd8,0xd8,0x70,0x00,0x20,0x40,0x70,0xd8,
|
|
||||||
0xd8,0xd8,0xd8,0x70,0x00,0x20,0x10,0x70,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0x70,0x00,0x50,0x20,
|
|
||||||
0x70,0xd8,0xd8,0xd8,0xd8,0x70,0x00,0xa0,
|
|
||||||
0x50,0x70,0xd8,0xd8,0xd8,0xd8,0x70,0x00,
|
|
||||||
0x50,0x30,0x00,0xfc,0x00,0x30,0xb8,0x6c,
|
|
||||||
0x6c,0x7c,0x6c,0x3a,0x68,0xd8,0xd8,0xd8,
|
|
||||||
0xd8,0xd8,0x00,0x20,0x40,0x68,0xd8,0xd8,
|
|
||||||
0xd8,0xd8,0xd8,0x00,0x20,0x10,0x68,0xd8,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0x00,0x50,0x20,0x68,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0xd8,0x00,0x50,0x60,
|
|
||||||
0x30,0x30,0x78,0xd8,0xd8,0xd8,0xd8,0x00,
|
|
||||||
0x20,0x10,0xc0,0xc0,0xf0,0xd8,0xc8,0xc8,
|
|
||||||
0xd8,0xf0,0xc0,0xc0,0x60,0x30,0x30,0x78,
|
|
||||||
0xd8,0xd8,0xd8,0xd8,0x00,0x50,
|
|
||||||
};
|
|
||||||
|
|
||||||
BMF_FontData BMF_font_helvb10 = {
|
|
||||||
-1, -2,
|
|
||||||
10, 11,
|
|
||||||
{
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 12, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{1, 1, 0, 0, 3, 0},
|
|
||||||
{2, 8, -1, 0, 4, 1},
|
|
||||||
{3, 3, -1, -5, 5, 9},
|
|
||||||
{7, 7, 1, 0, 6, 12},
|
|
||||||
{5, 10, 0, 1, 6, 19},
|
|
||||||
{7, 8, 0, 0, 8, 29},
|
|
||||||
{7, 8, 0, 0, 8, 37},
|
|
||||||
{2, 4, 0, -4, 3, 45},
|
|
||||||
{3, 10, 0, 2, 4, 49},
|
|
||||||
{3, 10, 0, 2, 4, 59},
|
|
||||||
{3, 3, 0, -5, 4, 69},
|
|
||||||
{6, 5, 0, -1, 6, 72},
|
|
||||||
{2, 4, 0, 2, 3, 77},
|
|
||||||
{5, 1, -1, -3, 7, 81},
|
|
||||||
{2, 2, 0, 0, 3, 82},
|
|
||||||
{4, 8, 0, 0, 4, 84},
|
|
||||||
{5, 8, 0, 0, 6, 92},
|
|
||||||
{3, 8, -1, 0, 6, 100},
|
|
||||||
{5, 8, 0, 0, 6, 108},
|
|
||||||
{5, 8, 0, 0, 6, 116},
|
|
||||||
{6, 8, 0, 0, 6, 124},
|
|
||||||
{5, 8, 0, 0, 6, 132},
|
|
||||||
{5, 8, 0, 0, 6, 140},
|
|
||||||
{5, 8, 0, 0, 6, 148},
|
|
||||||
{5, 8, 0, 0, 6, 156},
|
|
||||||
{5, 8, 0, 0, 6, 164},
|
|
||||||
{2, 6, 0, 0, 3, 172},
|
|
||||||
{2, 8, 0, 2, 3, 178},
|
|
||||||
{4, 5, 0, -1, 5, 186},
|
|
||||||
{5, 3, 0, -2, 6, 191},
|
|
||||||
{4, 5, 0, -1, 5, 194},
|
|
||||||
{5, 8, 0, 0, 6, 199},
|
|
||||||
{10, 9, 0, 1, 11, 207},
|
|
||||||
{7, 8, 0, 0, 8, 225},
|
|
||||||
{6, 8, 0, 0, 7, 233},
|
|
||||||
{7, 8, 0, 0, 8, 241},
|
|
||||||
{6, 8, 0, 0, 7, 249},
|
|
||||||
{5, 8, 0, 0, 6, 257},
|
|
||||||
{5, 8, 0, 0, 6, 265},
|
|
||||||
{7, 8, 0, 0, 8, 273},
|
|
||||||
{6, 8, 0, 0, 7, 281},
|
|
||||||
{2, 8, 0, 0, 3, 289},
|
|
||||||
{5, 8, 0, 0, 6, 297},
|
|
||||||
{7, 8, 0, 0, 7, 305},
|
|
||||||
{5, 8, 0, 0, 6, 313},
|
|
||||||
{9, 8, 0, 0, 10, 321},
|
|
||||||
{7, 8, 0, 0, 8, 337},
|
|
||||||
{7, 8, 0, 0, 8, 345},
|
|
||||||
{6, 8, 0, 0, 7, 353},
|
|
||||||
{7, 9, 0, 1, 8, 361},
|
|
||||||
{6, 8, 0, 0, 7, 370},
|
|
||||||
{6, 8, 0, 0, 7, 378},
|
|
||||||
{6, 8, 0, 0, 7, 386},
|
|
||||||
{6, 8, 0, 0, 7, 394},
|
|
||||||
{7, 8, 0, 0, 8, 402},
|
|
||||||
{10, 8, 0, 0, 11, 410},
|
|
||||||
{7, 8, 0, 0, 8, 426},
|
|
||||||
{8, 8, 0, 0, 9, 434},
|
|
||||||
{6, 8, 0, 0, 7, 442},
|
|
||||||
{3, 10, 0, 2, 4, 450},
|
|
||||||
{4, 8, 0, 0, 4, 460},
|
|
||||||
{3, 10, 0, 2, 4, 468},
|
|
||||||
{4, 4, 0, -4, 5, 478},
|
|
||||||
{6, 1, 0, 2, 6, 482},
|
|
||||||
{2, 4, 0, -4, 3, 483},
|
|
||||||
{6, 6, 0, 0, 6, 487},
|
|
||||||
{5, 8, 0, 0, 6, 493},
|
|
||||||
{4, 6, 0, 0, 5, 501},
|
|
||||||
{5, 8, 0, 0, 6, 507},
|
|
||||||
{5, 6, 0, 0, 6, 515},
|
|
||||||
{5, 8, 1, 0, 4, 521},
|
|
||||||
{5, 8, 0, 2, 6, 529},
|
|
||||||
{5, 8, 0, 0, 6, 537},
|
|
||||||
{2, 8, 0, 0, 3, 545},
|
|
||||||
{3, 10, 1, 2, 3, 553},
|
|
||||||
{6, 8, 0, 0, 6, 563},
|
|
||||||
{2, 8, 0, 0, 3, 571},
|
|
||||||
{8, 6, 0, 0, 9, 579},
|
|
||||||
{5, 6, 0, 0, 6, 585},
|
|
||||||
{5, 6, 0, 0, 6, 591},
|
|
||||||
{5, 8, 0, 2, 6, 597},
|
|
||||||
{5, 8, 0, 2, 6, 605},
|
|
||||||
{4, 6, 0, 0, 4, 613},
|
|
||||||
{5, 6, 0, 0, 6, 619},
|
|
||||||
{4, 8, 1, 0, 4, 625},
|
|
||||||
{5, 6, 0, 0, 6, 633},
|
|
||||||
{5, 6, 0, 0, 6, 639},
|
|
||||||
{7, 6, 0, 0, 8, 645},
|
|
||||||
{6, 6, 0, 0, 7, 651},
|
|
||||||
{5, 8, 0, 2, 6, 657},
|
|
||||||
{5, 6, 0, 0, 6, 665},
|
|
||||||
{4, 10, 0, 2, 5, 671},
|
|
||||||
{1, 10, -1, 2, 3, 681},
|
|
||||||
{4, 10, 0, 2, 5, 691},
|
|
||||||
{5, 2, 0, -3, 6, 701},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{1, 1, 0, 0, 3, 703},
|
|
||||||
{2, 8, -1, 2, 4, 704},
|
|
||||||
{5, 8, 0, 1, 6, 712},
|
|
||||||
{5, 8, 0, 0, 6, 720},
|
|
||||||
{6, 6, 0, -1, 6, 728},
|
|
||||||
{6, 8, 0, 0, 7, 734},
|
|
||||||
{1, 10, -1, 2, 3, 742},
|
|
||||||
{5, 10, 0, 2, 6, 752},
|
|
||||||
{3, 1, 0, -7, 3, 762},
|
|
||||||
{8, 8, -1, 0, 10, 763},
|
|
||||||
{3, 5, -1, -3, 5, 771},
|
|
||||||
{6, 3, 0, -1, 7, 776},
|
|
||||||
{5, 3, -1, -2, 7, 779},
|
|
||||||
{4, 1, 0, -3, 5, 782},
|
|
||||||
{8, 8, -1, 0, 10, 783},
|
|
||||||
{3, 1, 0, -7, 3, 791},
|
|
||||||
{3, 3, 0, -5, 4, 792},
|
|
||||||
{6, 7, 0, 0, 6, 795},
|
|
||||||
{3, 4, 0, -4, 3, 802},
|
|
||||||
{3, 4, 0, -4, 3, 806},
|
|
||||||
{2, 2, 0, -7, 3, 810},
|
|
||||||
{5, 8, 0, 2, 6, 812},
|
|
||||||
{6, 10, 0, 2, 6, 820},
|
|
||||||
{2, 1, 0, -3, 3, 830},
|
|
||||||
{2, 2, 0, 2, 3, 831},
|
|
||||||
{2, 4, 0, -4, 3, 833},
|
|
||||||
{3, 5, -1, -3, 5, 837},
|
|
||||||
{6, 3, 0, -1, 7, 842},
|
|
||||||
{8, 8, 0, 0, 9, 845},
|
|
||||||
{7, 8, 0, 0, 9, 853},
|
|
||||||
{8, 8, 0, 0, 9, 861},
|
|
||||||
{5, 8, 0, 2, 6, 869},
|
|
||||||
{7, 11, 0, 0, 8, 877},
|
|
||||||
{7, 11, 0, 0, 8, 888},
|
|
||||||
{7, 11, 0, 0, 8, 899},
|
|
||||||
{7, 11, 0, 0, 8, 910},
|
|
||||||
{7, 10, 0, 0, 8, 921},
|
|
||||||
{7, 11, 0, 0, 8, 931},
|
|
||||||
{9, 8, 0, 0, 10, 942},
|
|
||||||
{7, 10, 0, 2, 8, 958},
|
|
||||||
{5, 11, 0, 0, 6, 968},
|
|
||||||
{5, 11, 0, 0, 6, 979},
|
|
||||||
{5, 11, 0, 0, 6, 990},
|
|
||||||
{5, 10, 0, 0, 6, 1001},
|
|
||||||
{2, 11, 0, 0, 3, 1011},
|
|
||||||
{2, 11, 0, 0, 3, 1022},
|
|
||||||
{3, 11, 1, 0, 3, 1033},
|
|
||||||
{4, 10, 1, 0, 3, 1044},
|
|
||||||
{7, 8, 1, 0, 7, 1054},
|
|
||||||
{7, 11, 0, 0, 8, 1062},
|
|
||||||
{7, 11, 0, 0, 8, 1073},
|
|
||||||
{7, 11, 0, 0, 8, 1084},
|
|
||||||
{7, 11, 0, 0, 8, 1095},
|
|
||||||
{7, 11, 0, 0, 8, 1106},
|
|
||||||
{7, 10, 0, 0, 8, 1117},
|
|
||||||
{6, 5, 0, -1, 6, 1127},
|
|
||||||
{7, 8, 0, 0, 8, 1132},
|
|
||||||
{6, 11, 0, 0, 7, 1140},
|
|
||||||
{6, 11, 0, 0, 7, 1151},
|
|
||||||
{6, 11, 0, 0, 7, 1162},
|
|
||||||
{6, 10, 0, 0, 7, 1173},
|
|
||||||
{8, 11, 0, 0, 9, 1183},
|
|
||||||
{6, 8, 0, 0, 7, 1194},
|
|
||||||
{5, 8, 0, 0, 6, 1202},
|
|
||||||
{6, 9, 0, 0, 6, 1210},
|
|
||||||
{6, 9, 0, 0, 6, 1219},
|
|
||||||
{6, 9, 0, 0, 6, 1228},
|
|
||||||
{6, 9, 0, 0, 6, 1237},
|
|
||||||
{6, 8, 0, 0, 6, 1246},
|
|
||||||
{6, 9, 0, 0, 6, 1254},
|
|
||||||
{8, 6, 0, 0, 9, 1263},
|
|
||||||
{4, 8, 0, 2, 5, 1269},
|
|
||||||
{5, 9, 0, 0, 6, 1277},
|
|
||||||
{5, 9, 0, 0, 6, 1286},
|
|
||||||
{5, 9, 0, 0, 6, 1295},
|
|
||||||
{5, 8, 0, 0, 6, 1304},
|
|
||||||
{2, 9, 0, 0, 3, 1312},
|
|
||||||
{2, 9, 0, 0, 3, 1321},
|
|
||||||
{3, 9, 0, 0, 3, 1330},
|
|
||||||
{3, 8, 0, 0, 3, 1339},
|
|
||||||
{5, 9, 0, 0, 6, 1347},
|
|
||||||
{5, 9, 0, 0, 6, 1356},
|
|
||||||
{5, 9, 0, 0, 6, 1365},
|
|
||||||
{5, 9, 0, 0, 6, 1374},
|
|
||||||
{5, 9, 0, 0, 6, 1383},
|
|
||||||
{5, 9, 0, 0, 6, 1392},
|
|
||||||
{5, 8, 0, 0, 6, 1401},
|
|
||||||
{6, 5, 0, -1, 6, 1409},
|
|
||||||
{7, 6, 1, 0, 6, 1414},
|
|
||||||
{5, 9, 0, 0, 6, 1420},
|
|
||||||
{5, 9, 0, 0, 6, 1429},
|
|
||||||
{5, 9, 0, 0, 6, 1438},
|
|
||||||
{5, 8, 0, 0, 6, 1447},
|
|
||||||
{5, 11, 0, 2, 6, 1455},
|
|
||||||
{5, 10, 0, 2, 6, 1466},
|
|
||||||
{5, 10, 0, 2, 6, 1476},
|
|
||||||
},
|
|
||||||
bitmap_data
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,565 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
|
|
||||||
#if BMF_INCLUDE_HELVB12
|
|
||||||
|
|
||||||
static unsigned char bitmap_data[]= {
|
|
||||||
0x00,0xc0,0xc0,0x00,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xa0,0xa0,0xa0,0x6c,
|
|
||||||
0x00,0x6c,0x00,0x6c,0x00,0xff,0x00,0x36,
|
|
||||||
0x00,0x36,0x00,0x36,0x00,0x7f,0x80,0x1b,
|
|
||||||
0x00,0x1b,0x00,0x1b,0x00,0x30,0x30,0x78,
|
|
||||||
0xec,0xac,0x3c,0x38,0x70,0xf0,0xd4,0xdc,
|
|
||||||
0x78,0x30,0x63,0x80,0x37,0xc0,0x36,0xc0,
|
|
||||||
0x1f,0xc0,0x1b,0x80,0x0c,0x00,0x76,0x00,
|
|
||||||
0xfe,0x00,0xdb,0x00,0xfb,0x00,0x71,0x80,
|
|
||||||
0x73,0x80,0xff,0x00,0xce,0x00,0xcf,0x00,
|
|
||||||
0xdd,0x80,0x79,0x80,0x38,0x00,0x6c,0x00,
|
|
||||||
0x6c,0x00,0x7c,0x00,0x38,0x00,0x80,0x40,
|
|
||||||
0xc0,0xc0,0x30,0x60,0x60,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0x60,0x60,0x30,
|
|
||||||
0xc0,0x60,0x60,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0x60,0x60,0xc0,0xd8,0x70,
|
|
||||||
0x70,0xf8,0x20,0x30,0x30,0xfc,0xfc,0x30,
|
|
||||||
0x30,0x80,0x40,0xc0,0xc0,0xfc,0xfc,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0x60,0x60,0x60,0x20,
|
|
||||||
0x30,0x30,0x30,0x18,0x18,0x18,0x78,0xfc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xfc,
|
|
||||||
0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0xf0,0xf0,0x30,0xfc,0xfc,0xc0,0x60,
|
|
||||||
0x70,0x38,0x18,0xcc,0xcc,0xfc,0x78,0x78,
|
|
||||||
0xfc,0xcc,0xcc,0x0c,0x38,0x38,0x0c,0xcc,
|
|
||||||
0xfc,0x78,0x0c,0x0c,0xfe,0xfe,0xcc,0x6c,
|
|
||||||
0x6c,0x3c,0x3c,0x1c,0x1c,0x78,0xfc,0xcc,
|
|
||||||
0xcc,0x0c,0xfc,0xf8,0xc0,0xc0,0xfc,0xfc,
|
|
||||||
0x78,0xfc,0xcc,0xcc,0xcc,0xfc,0xf8,0xc0,
|
|
||||||
0xcc,0xfc,0x78,0x60,0x60,0x60,0x30,0x30,
|
|
||||||
0x30,0x18,0x18,0x0c,0xfc,0xfc,0x78,0xfc,
|
|
||||||
0xcc,0xcc,0xcc,0x78,0x78,0xcc,0xcc,0xfc,
|
|
||||||
0x78,0x78,0xfc,0xcc,0x0c,0x7c,0xfc,0xcc,
|
|
||||||
0xcc,0xcc,0xfc,0x78,0xc0,0xc0,0x00,0x00,
|
|
||||||
0x00,0x00,0xc0,0xc0,0x80,0x40,0xc0,0xc0,
|
|
||||||
0x00,0x00,0x00,0x00,0xc0,0xc0,0x0c,0x38,
|
|
||||||
0xe0,0xe0,0x38,0x0c,0xfc,0xfc,0x00,0xfc,
|
|
||||||
0xfc,0xc0,0x70,0x1c,0x1c,0x70,0xc0,0x30,
|
|
||||||
0x30,0x00,0x30,0x30,0x38,0x1c,0xcc,0xcc,
|
|
||||||
0xfc,0x78,0x1f,0x00,0x71,0x80,0x40,0x00,
|
|
||||||
0xdd,0x80,0xb6,0xc0,0xb2,0x40,0xb3,0x60,
|
|
||||||
0xdb,0x20,0x4d,0xa0,0x60,0x40,0x39,0xc0,
|
|
||||||
0x0f,0x00,0xc3,0xc3,0xff,0x7e,0x66,0x66,
|
|
||||||
0x3c,0x3c,0x3c,0x18,0x18,0xf8,0xfc,0xcc,
|
|
||||||
0xcc,0xcc,0xf8,0xf8,0xcc,0xcc,0xfc,0xf8,
|
|
||||||
0x78,0xfc,0xcc,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xcc,0xfc,0x78,0xf8,0xfc,0xce,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0xce,0xfc,0xf8,0xfc,0xfc,
|
|
||||||
0xc0,0xc0,0xc0,0xf8,0xf8,0xc0,0xc0,0xfc,
|
|
||||||
0xfc,0xc0,0xc0,0xc0,0xc0,0xc0,0xf8,0xf8,
|
|
||||||
0xc0,0xc0,0xfc,0xfc,0x76,0xfe,0xc6,0xc6,
|
|
||||||
0xde,0xde,0xc0,0xc0,0xc6,0xfe,0x7c,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0xc6,0xfe,0xfe,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0x70,0xf8,0xd8,
|
|
||||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
|
|
||||||
0xc6,0xce,0xcc,0xd8,0xf8,0xf0,0xf0,0xd8,
|
|
||||||
0xcc,0xcc,0xc6,0xfc,0xfc,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc9,0x80,
|
|
||||||
0xc9,0x80,0xdd,0x80,0xdd,0x80,0xf7,0x80,
|
|
||||||
0xf7,0x80,0xe3,0x80,0xe3,0x80,0xe3,0x80,
|
|
||||||
0xc1,0x80,0xc1,0x80,0xc6,0xc6,0xce,0xce,
|
|
||||||
0xde,0xd6,0xf6,0xe6,0xe6,0xc6,0xc6,0x7c,
|
|
||||||
0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,
|
|
||||||
0xfe,0x7c,0xc0,0xc0,0xc0,0xc0,0xfc,0xfe,
|
|
||||||
0xc6,0xc6,0xc6,0xfe,0xfc,0x06,0x7e,0xfc,
|
|
||||||
0xce,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xfe,
|
|
||||||
0x7c,0xc6,0xc6,0xc6,0xce,0xfc,0xfc,0xc6,
|
|
||||||
0xc6,0xc6,0xfe,0xfc,0x78,0xfc,0xcc,0x0c,
|
|
||||||
0x1c,0x78,0xe0,0xc0,0xcc,0xfc,0x78,0x30,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0xfc,0xfc,0x7c,0xfe,0xc6,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0xc6,0xc6,0x18,0x18,0x18,
|
|
||||||
0x3c,0x3c,0x3c,0x66,0x66,0x66,0xc3,0xc3,
|
|
||||||
0x33,0x00,0x33,0x00,0x33,0x00,0x3b,0x00,
|
|
||||||
0x7f,0x80,0x6d,0x80,0x6d,0x80,0x6d,0x80,
|
|
||||||
0xcc,0xc0,0xcc,0xc0,0xcc,0xc0,0xc3,0xc3,
|
|
||||||
0x66,0x7e,0x3c,0x18,0x3c,0x7e,0x66,0xc3,
|
|
||||||
0xc3,0x18,0x18,0x18,0x18,0x18,0x3c,0x3c,
|
|
||||||
0x66,0x66,0xc3,0xc3,0xfe,0xfe,0xc0,0x60,
|
|
||||||
0x60,0x30,0x18,0x18,0x0c,0xfe,0xfe,0xe0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xe0,0x30,0x30,0x30,
|
|
||||||
0x70,0x60,0x60,0x60,0xe0,0xc0,0xc0,0xc0,
|
|
||||||
0xe0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0xe0,0x88,0xd8,
|
|
||||||
0x70,0x70,0x20,0xfe,0xc0,0xc0,0x80,0x40,
|
|
||||||
0x76,0xfc,0xcc,0xfc,0x7c,0x8c,0xfc,0x78,
|
|
||||||
0xd8,0xfc,0xcc,0xcc,0xcc,0xcc,0xfc,0xd8,
|
|
||||||
0xc0,0xc0,0xc0,0x78,0xfc,0xcc,0xc0,0xc0,
|
|
||||||
0xcc,0xfc,0x78,0x6c,0xfc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xfc,0x6c,0x0c,0x0c,0x0c,0x78,0xfc,
|
|
||||||
0xc0,0xfc,0xfc,0xcc,0xfc,0x78,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0xf0,0xf0,0x60,0x70,
|
|
||||||
0x30,0x78,0xfc,0x0c,0x6c,0xfc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0xfc,0x6c,0xcc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xec,0xfc,0xd8,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,
|
|
||||||
0xc0,0xc0,0xc0,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0x00,0x60,0x60,
|
|
||||||
0xcc,0xd8,0xd8,0xf0,0xe0,0xf0,0xd8,0xcc,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xcc,0xc0,
|
|
||||||
0xcc,0xc0,0xcc,0xc0,0xcc,0xc0,0xcc,0xc0,
|
|
||||||
0xee,0xc0,0xff,0xc0,0xbb,0x80,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0xcc,0xec,0xfc,0xd8,0x78,0xfc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0xfc,0x78,0xc0,0xc0,
|
|
||||||
0xc0,0xd8,0xfc,0xcc,0xcc,0xcc,0xcc,0xfc,
|
|
||||||
0xd8,0x0c,0x0c,0x0c,0x6c,0xfc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0xfc,0x6c,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xe0,0xb0,0x78,0xfc,0xcc,0x1c,
|
|
||||||
0x78,0xe0,0xfc,0x78,0x30,0x70,0x60,0x60,
|
|
||||||
0x60,0x60,0xf0,0xf0,0x60,0x60,0x6c,0xfc,
|
|
||||||
0xdc,0xcc,0xcc,0xcc,0xcc,0xcc,0x30,0x30,
|
|
||||||
0x78,0x78,0x78,0xcc,0xcc,0xcc,0x24,0x24,
|
|
||||||
0x76,0x76,0x7e,0xdb,0xdb,0xdb,0xcc,0xcc,
|
|
||||||
0x78,0x38,0x70,0x78,0xcc,0xcc,0xe0,0xf0,
|
|
||||||
0x30,0x30,0x38,0x78,0x78,0x48,0xcc,0xcc,
|
|
||||||
0xcc,0xfc,0xfc,0x60,0x30,0x30,0x18,0xfc,
|
|
||||||
0xfc,0x30,0x60,0x60,0x60,0x60,0x60,0x40,
|
|
||||||
0x80,0x40,0x60,0x60,0x60,0x60,0x30,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0xc0,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x20,0x10,0x20,0x60,0x60,0x60,
|
|
||||||
0x60,0xc0,0x98,0xfc,0x64,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0xc0,0xc0,
|
|
||||||
0xc0,0x78,0xfc,0xec,0xe0,0xd0,0xd4,0xfc,
|
|
||||||
0x78,0x0c,0xdc,0xfe,0x60,0x30,0x30,0xfc,
|
|
||||||
0x30,0x60,0x64,0x7c,0x38,0xcc,0x78,0xcc,
|
|
||||||
0xcc,0x78,0xcc,0x18,0x18,0x18,0x7e,0x18,
|
|
||||||
0x7e,0x3c,0x66,0x66,0xc3,0xc3,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x00,0x00,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x78,0xfc,0xcc,0x1c,0x38,
|
|
||||||
0x6c,0xcc,0xcc,0xd8,0x70,0xe0,0xcc,0xfc,
|
|
||||||
0x78,0xd8,0xd8,0x1f,0x00,0x71,0xc0,0x6e,
|
|
||||||
0xc0,0xdb,0x60,0xdb,0x60,0xd8,0x60,0xdb,
|
|
||||||
0x60,0xdb,0x60,0x6e,0xc0,0x71,0xc0,0x1f,
|
|
||||||
0x00,0xf0,0x00,0xd0,0xb0,0x70,0xb0,0x60,
|
|
||||||
0x36,0x6c,0xd8,0x6c,0x36,0x0c,0x0c,0xfc,
|
|
||||||
0xfc,0xe0,0xe0,0x1f,0x00,0x71,0xc0,0x7b,
|
|
||||||
0xc0,0xdb,0x60,0xdf,0x60,0xde,0x60,0xdb,
|
|
||||||
0x60,0xdb,0x60,0x7e,0xc0,0x71,0xc0,0x1f,
|
|
||||||
0x00,0xf0,0xf0,0x60,0x90,0x90,0x60,0xfc,
|
|
||||||
0xfc,0x00,0x30,0x30,0xfc,0xfc,0x30,0x30,
|
|
||||||
0xf0,0x40,0x20,0x10,0x90,0x60,0x60,0x90,
|
|
||||||
0x10,0x20,0x90,0x60,0xc0,0x70,0x30,0xc0,
|
|
||||||
0xc0,0xc0,0xec,0xfc,0xdc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0x36,0x36,0x36,0x36,0x36,0x36,
|
|
||||||
0x36,0x36,0x76,0xf6,0xf6,0xf6,0xfe,0x7e,
|
|
||||||
0xc0,0xc0,0xc0,0x60,0x40,0x40,0x40,0x40,
|
|
||||||
0x40,0xc0,0x40,0xf8,0x00,0x70,0xd8,0xd8,
|
|
||||||
0xd8,0x70,0xd8,0x6c,0x36,0x6c,0xd8,0x20,
|
|
||||||
0x80,0x27,0xc0,0x12,0x80,0x12,0x80,0x09,
|
|
||||||
0x80,0x4c,0x80,0x44,0x00,0x42,0x00,0x42,
|
|
||||||
0x00,0xc1,0x00,0x41,0x00,0x23,0xc0,0x21,
|
|
||||||
0x00,0x10,0x80,0x10,0x40,0x0a,0x40,0x4d,
|
|
||||||
0x80,0x44,0x00,0x42,0x00,0x42,0x00,0xc1,
|
|
||||||
0x00,0x41,0x00,0x20,0x80,0x27,0xc0,0x12,
|
|
||||||
0x80,0x12,0x80,0x09,0x80,0x6c,0x80,0x94,
|
|
||||||
0x00,0x12,0x00,0x22,0x00,0x91,0x00,0x61,
|
|
||||||
0x00,0x78,0xfc,0xcc,0xcc,0xe0,0x70,0x30,
|
|
||||||
0x30,0x00,0x30,0x30,0xc3,0xc3,0x7e,0x7e,
|
|
||||||
0x24,0x3c,0x18,0x18,0x00,0x0c,0x38,0x30,
|
|
||||||
0xc3,0xc3,0x7e,0x7e,0x24,0x3c,0x18,0x18,
|
|
||||||
0x00,0x30,0x1c,0x0c,0xc3,0xc3,0x7e,0x7e,
|
|
||||||
0x24,0x3c,0x18,0x18,0x00,0x66,0x3c,0x18,
|
|
||||||
0xc3,0xc3,0x7e,0x7e,0x24,0x3c,0x18,0x18,
|
|
||||||
0x00,0x2c,0x3e,0x1a,0xc3,0xc3,0x7e,0x7e,
|
|
||||||
0x24,0x3c,0x18,0x18,0x00,0x6c,0x6c,0xc3,
|
|
||||||
0xc3,0x7e,0x7e,0x24,0x3c,0x18,0x18,0x00,
|
|
||||||
0x18,0x34,0x18,0xc7,0xe0,0xc7,0xe0,0xfe,
|
|
||||||
0x00,0x7e,0x00,0x66,0x00,0x67,0xc0,0x37,
|
|
||||||
0xc0,0x36,0x00,0x3e,0x00,0x1f,0xe0,0x1f,
|
|
||||||
0xe0,0x60,0x30,0x20,0x78,0xfc,0xcc,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xcc,0xfc,0x78,0xfc,
|
|
||||||
0xfc,0xc0,0xf8,0xf8,0xc0,0xfc,0xfc,0x00,
|
|
||||||
0x18,0x70,0x60,0xfc,0xfc,0xc0,0xf8,0xf8,
|
|
||||||
0xc0,0xfc,0xfc,0x00,0x60,0x38,0x18,0xfc,
|
|
||||||
0xfc,0xc0,0xf8,0xf8,0xc0,0xfc,0xfc,0x00,
|
|
||||||
0xcc,0x78,0x30,0xfc,0xfc,0xc0,0xf8,0xf8,
|
|
||||||
0xc0,0xfc,0xfc,0x00,0xd8,0xd8,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x30,
|
|
||||||
0xe0,0xc0,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x00,0xc0,0x70,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x30,0x00,0xcc,
|
|
||||||
0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x00,0xd8,0xd8,0x7c,0x7e,0x67,
|
|
||||||
0x63,0x63,0xfb,0xfb,0x63,0x67,0x7e,0x7c,
|
|
||||||
0xc6,0xce,0xce,0xde,0xf6,0xe6,0xe6,0xc6,
|
|
||||||
0x00,0x58,0x7c,0x34,0x7c,0xfe,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xfe,0x7c,0x00,0x18,0x70,0x60,
|
|
||||||
0x7c,0xfe,0xc6,0xc6,0xc6,0xc6,0xfe,0x7c,
|
|
||||||
0x00,0x30,0x1c,0x0c,0x7c,0xfe,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xfe,0x7c,0x00,0xcc,0x78,0x30,
|
|
||||||
0x7c,0xfe,0xc6,0xc6,0xc6,0xc6,0xfe,0x7c,
|
|
||||||
0x00,0x58,0x7c,0x34,0x7c,0xfe,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xfe,0x7c,0x00,0x6c,0x6c,0xcc,
|
|
||||||
0x78,0x30,0x30,0x78,0xcc,0xde,0x00,0x7f,
|
|
||||||
0x00,0x63,0x00,0x73,0x00,0x7b,0x00,0x6b,
|
|
||||||
0x00,0x6f,0x00,0x67,0x00,0x63,0x00,0x7f,
|
|
||||||
0x00,0x3d,0x80,0x7c,0xfe,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0x00,0x18,0x70,0x60,0x7c,
|
|
||||||
0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,
|
|
||||||
0x30,0x1c,0x0c,0x7c,0xfe,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0x00,0xcc,0x78,0x30,0x7c,
|
|
||||||
0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,
|
|
||||||
0x6c,0x6c,0x18,0x18,0x18,0x18,0x3c,0x7e,
|
|
||||||
0xe7,0xc3,0x00,0x30,0x1c,0x0c,0xc0,0xc0,
|
|
||||||
0xfc,0xfe,0xc6,0xc6,0xc6,0xfe,0xfc,0xc0,
|
|
||||||
0xc0,0xd8,0xdc,0xcc,0xcc,0xcc,0xd8,0xd8,
|
|
||||||
0xcc,0xcc,0xfc,0x78,0x76,0xfc,0xcc,0xfc,
|
|
||||||
0x7c,0x8c,0xfc,0x78,0x00,0x18,0x70,0x60,
|
|
||||||
0x76,0xfc,0xcc,0xfc,0x7c,0x8c,0xfc,0x78,
|
|
||||||
0x00,0x60,0x38,0x18,0x76,0xfc,0xcc,0xfc,
|
|
||||||
0x7c,0x8c,0xfc,0x78,0x00,0xcc,0x78,0x30,
|
|
||||||
0x76,0xfc,0xcc,0xfc,0x7c,0x8c,0xfc,0x78,
|
|
||||||
0x00,0x58,0x7c,0x34,0x76,0xfc,0xcc,0xfc,
|
|
||||||
0x7c,0x8c,0xfc,0x78,0x00,0xd8,0xd8,0x76,
|
|
||||||
0xfc,0xcc,0xfc,0x7c,0x8c,0xfc,0x78,0x00,
|
|
||||||
0x30,0x68,0x30,0x77,0x80,0xff,0xc0,0xcc,
|
|
||||||
0x00,0xff,0xc0,0x7f,0xc0,0x8c,0xc0,0xff,
|
|
||||||
0xc0,0x7b,0x80,0x60,0x30,0x20,0x78,0xfc,
|
|
||||||
0xcc,0xc0,0xc0,0xcc,0xfc,0x78,0x78,0xfc,
|
|
||||||
0xc0,0xfc,0xfc,0xcc,0xfc,0x78,0x00,0x18,
|
|
||||||
0x70,0x60,0x78,0xfc,0xc0,0xfc,0xfc,0xcc,
|
|
||||||
0xfc,0x78,0x00,0x60,0x38,0x18,0x78,0xfc,
|
|
||||||
0xc0,0xfc,0xfc,0xcc,0xfc,0x78,0x00,0xcc,
|
|
||||||
0x78,0x30,0x78,0xfc,0xc0,0xfc,0xfc,0xcc,
|
|
||||||
0xfc,0x78,0x00,0xd8,0xd8,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0x00,0x30,0xe0,
|
|
||||||
0xc0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x00,0xc0,0x70,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x00,0xcc,0x78,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x00,0xd8,0xd8,0x78,0xfc,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0xfc,0x78,0xb0,0x60,0xd0,0xcc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0xec,0xfc,0xd8,0x00,
|
|
||||||
0xb0,0xf8,0x68,0x78,0xfc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xfc,0x78,0x00,0x18,0x70,0x60,0x78,
|
|
||||||
0xfc,0xcc,0xcc,0xcc,0xcc,0xfc,0x78,0x00,
|
|
||||||
0x60,0x38,0x18,0x78,0xfc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xfc,0x78,0x00,0xcc,0x78,0x30,0x78,
|
|
||||||
0xfc,0xcc,0xcc,0xcc,0xcc,0xfc,0x78,0x00,
|
|
||||||
0xb0,0xf8,0x68,0x78,0xfc,0xcc,0xcc,0xcc,
|
|
||||||
0xcc,0xfc,0x78,0x00,0xd8,0xd8,0x30,0x30,
|
|
||||||
0x00,0xfc,0xfc,0x00,0x30,0x30,0xc0,0x78,
|
|
||||||
0xfc,0xcc,0xec,0xdc,0xcc,0xfc,0x78,0x0c,
|
|
||||||
0x6c,0xfc,0xdc,0xcc,0xcc,0xcc,0xcc,0xcc,
|
|
||||||
0x00,0x18,0x70,0x60,0x6c,0xfc,0xdc,0xcc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0x00,0x60,0x38,0x18,
|
|
||||||
0x6c,0xfc,0xdc,0xcc,0xcc,0xcc,0xcc,0xcc,
|
|
||||||
0x00,0xcc,0x78,0x30,0x6c,0xfc,0xdc,0xcc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0x00,0xd8,0xd8,0xe0,
|
|
||||||
0xf0,0x30,0x30,0x38,0x78,0x78,0x48,0xcc,
|
|
||||||
0xcc,0xcc,0x00,0x60,0x38,0x18,0xc0,0xc0,
|
|
||||||
0xc0,0xd8,0xfc,0xcc,0xcc,0xcc,0xcc,0xfc,
|
|
||||||
0xd8,0xc0,0xc0,0xc0,0xe0,0xf0,0x30,0x30,
|
|
||||||
0x38,0x78,0x78,0x48,0xcc,0xcc,0xcc,0x00,
|
|
||||||
0xd8,0xd8,
|
|
||||||
};
|
|
||||||
|
|
||||||
BMF_FontData BMF_font_helvb12 = {
|
|
||||||
-1, -3,
|
|
||||||
11, 12,
|
|
||||||
{
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 12, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{1, 1, 0, 0, 3, 0},
|
|
||||||
{2, 11, -1, 0, 4, 1},
|
|
||||||
{3, 3, 0, -8, 4, 12},
|
|
||||||
{9, 11, 1, 0, 7, 15},
|
|
||||||
{6, 13, 0, 2, 7, 37},
|
|
||||||
{10, 11, 0, 0, 11, 50},
|
|
||||||
{9, 11, 0, 0, 9, 72},
|
|
||||||
{2, 4, 0, -7, 3, 94},
|
|
||||||
{4, 14, 0, 3, 4, 98},
|
|
||||||
{4, 14, 1, 3, 4, 112},
|
|
||||||
{5, 5, 0, -6, 6, 126},
|
|
||||||
{6, 6, 0, -1, 7, 131},
|
|
||||||
{2, 4, 0, 2, 3, 137},
|
|
||||||
{6, 2, -1, -3, 9, 141},
|
|
||||||
{2, 2, 0, 0, 3, 143},
|
|
||||||
{5, 13, 1, 2, 4, 145},
|
|
||||||
{6, 11, 0, 0, 7, 158},
|
|
||||||
{4, 11, 0, 0, 6, 169},
|
|
||||||
{6, 11, 0, 0, 7, 180},
|
|
||||||
{6, 11, 0, 0, 7, 191},
|
|
||||||
{7, 11, 0, 0, 7, 202},
|
|
||||||
{6, 11, 0, 0, 7, 213},
|
|
||||||
{6, 11, 0, 0, 7, 224},
|
|
||||||
{6, 11, 0, 0, 7, 235},
|
|
||||||
{6, 11, 0, 0, 7, 246},
|
|
||||||
{6, 11, 0, 0, 7, 257},
|
|
||||||
{2, 8, -1, 0, 4, 268},
|
|
||||||
{2, 10, -1, 2, 4, 276},
|
|
||||||
{6, 6, 0, -1, 7, 286},
|
|
||||||
{6, 5, 0, -2, 7, 292},
|
|
||||||
{6, 6, 0, -1, 7, 297},
|
|
||||||
{6, 11, 0, 0, 7, 303},
|
|
||||||
{11, 12, 0, 1, 12, 314},
|
|
||||||
{8, 11, 0, 0, 8, 338},
|
|
||||||
{6, 11, -1, 0, 8, 349},
|
|
||||||
{6, 11, -1, 0, 8, 360},
|
|
||||||
{7, 11, -1, 0, 9, 371},
|
|
||||||
{6, 11, -1, 0, 8, 382},
|
|
||||||
{6, 11, -1, 0, 7, 393},
|
|
||||||
{7, 11, -1, 0, 9, 404},
|
|
||||||
{7, 11, -1, 0, 9, 415},
|
|
||||||
{2, 11, -2, 0, 6, 426},
|
|
||||||
{5, 11, 0, 0, 6, 437},
|
|
||||||
{7, 11, -1, 0, 8, 448},
|
|
||||||
{6, 11, -1, 0, 7, 459},
|
|
||||||
{9, 11, -1, 0, 11, 470},
|
|
||||||
{7, 11, -1, 0, 9, 492},
|
|
||||||
{7, 11, -1, 0, 9, 503},
|
|
||||||
{7, 11, -1, 0, 9, 514},
|
|
||||||
{7, 12, -1, 1, 9, 525},
|
|
||||||
{7, 11, -1, 0, 9, 537},
|
|
||||||
{6, 11, -1, 0, 8, 548},
|
|
||||||
{6, 11, 0, 0, 6, 559},
|
|
||||||
{7, 11, -1, 0, 9, 570},
|
|
||||||
{8, 11, 0, 0, 8, 581},
|
|
||||||
{10, 11, 0, 0, 10, 592},
|
|
||||||
{8, 11, 0, 0, 8, 614},
|
|
||||||
{8, 11, 0, 0, 8, 625},
|
|
||||||
{7, 11, 0, 0, 7, 636},
|
|
||||||
{3, 14, 0, 3, 4, 647},
|
|
||||||
{4, 11, 0, 0, 5, 661},
|
|
||||||
{3, 14, 0, 3, 4, 672},
|
|
||||||
{5, 5, 0, -6, 7, 686},
|
|
||||||
{7, 1, 0, 2, 7, 691},
|
|
||||||
{2, 4, 0, -7, 3, 692},
|
|
||||||
{7, 8, 0, 0, 7, 696},
|
|
||||||
{6, 11, 0, 0, 7, 704},
|
|
||||||
{6, 8, 0, 0, 7, 715},
|
|
||||||
{6, 11, 0, 0, 7, 723},
|
|
||||||
{6, 8, 0, 0, 7, 734},
|
|
||||||
{4, 11, 0, 0, 5, 742},
|
|
||||||
{6, 11, 0, 3, 7, 753},
|
|
||||||
{6, 11, 0, 0, 7, 764},
|
|
||||||
{2, 11, -1, 0, 5, 775},
|
|
||||||
{3, 14, 0, 3, 5, 786},
|
|
||||||
{6, 11, 0, 0, 6, 800},
|
|
||||||
{2, 11, -1, 0, 5, 811},
|
|
||||||
{10, 8, 0, 0, 11, 822},
|
|
||||||
{6, 8, 0, 0, 7, 838},
|
|
||||||
{6, 8, 0, 0, 7, 846},
|
|
||||||
{6, 11, 0, 3, 7, 854},
|
|
||||||
{6, 11, 0, 3, 7, 865},
|
|
||||||
{4, 8, 0, 0, 4, 876},
|
|
||||||
{6, 8, 0, 0, 7, 884},
|
|
||||||
{4, 10, 0, 0, 5, 892},
|
|
||||||
{6, 8, 0, 0, 7, 902},
|
|
||||||
{6, 8, 0, 0, 7, 910},
|
|
||||||
{8, 8, 0, 0, 9, 918},
|
|
||||||
{6, 8, 0, 0, 7, 926},
|
|
||||||
{6, 11, 0, 3, 7, 934},
|
|
||||||
{6, 8, 0, 0, 7, 945},
|
|
||||||
{4, 14, 0, 3, 4, 953},
|
|
||||||
{1, 13, -1, 2, 3, 967},
|
|
||||||
{4, 14, 0, 3, 4, 980},
|
|
||||||
{6, 3, 0, -3, 7, 994},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{2, 11, 0, 3, 3, 997},
|
|
||||||
{6, 10, 0, 1, 7, 1008},
|
|
||||||
{7, 11, 0, 0, 7, 1018},
|
|
||||||
{6, 6, 0, -3, 7, 1029},
|
|
||||||
{8, 11, 1, 0, 7, 1035},
|
|
||||||
{1, 13, -1, 2, 3, 1046},
|
|
||||||
{6, 14, 0, 3, 7, 1059},
|
|
||||||
{5, 2, 0, -9, 5, 1073},
|
|
||||||
{11, 11, 0, 0, 12, 1075},
|
|
||||||
{4, 7, 0, -4, 5, 1097},
|
|
||||||
{7, 5, 0, -2, 8, 1104},
|
|
||||||
{6, 4, -1, -3, 9, 1109},
|
|
||||||
{3, 2, 0, -3, 4, 1113},
|
|
||||||
{11, 11, 0, 0, 12, 1115},
|
|
||||||
{4, 2, 0, -9, 4, 1137},
|
|
||||||
{4, 4, -1, -7, 6, 1139},
|
|
||||||
{6, 9, 0, -1, 7, 1143},
|
|
||||||
{4, 6, 0, -5, 4, 1152},
|
|
||||||
{4, 6, 0, -5, 4, 1158},
|
|
||||||
{4, 3, -1, -9, 4, 1164},
|
|
||||||
{6, 11, 0, 3, 7, 1167},
|
|
||||||
{7, 14, -1, 3, 10, 1178},
|
|
||||||
{2, 2, 0, -5, 3, 1192},
|
|
||||||
{3, 3, -1, 3, 5, 1194},
|
|
||||||
{2, 6, 0, -5, 4, 1197},
|
|
||||||
{5, 7, 0, -4, 6, 1203},
|
|
||||||
{7, 5, 0, -2, 8, 1210},
|
|
||||||
{10, 11, 0, 0, 11, 1215},
|
|
||||||
{10, 11, 0, 0, 11, 1237},
|
|
||||||
{10, 11, 0, 0, 11, 1259},
|
|
||||||
{6, 11, 0, 3, 7, 1281},
|
|
||||||
{8, 12, 0, 0, 8, 1292},
|
|
||||||
{8, 12, 0, 0, 8, 1304},
|
|
||||||
{8, 12, 0, 0, 8, 1316},
|
|
||||||
{8, 12, 0, 0, 8, 1328},
|
|
||||||
{8, 11, 0, 0, 8, 1340},
|
|
||||||
{8, 12, 0, 0, 8, 1351},
|
|
||||||
{11, 11, 0, 0, 12, 1363},
|
|
||||||
{6, 14, -1, 3, 8, 1385},
|
|
||||||
{6, 12, -1, 0, 8, 1399},
|
|
||||||
{6, 12, -1, 0, 8, 1411},
|
|
||||||
{6, 12, -1, 0, 8, 1423},
|
|
||||||
{6, 11, -1, 0, 8, 1435},
|
|
||||||
{4, 12, -1, 0, 6, 1446},
|
|
||||||
{4, 12, -1, 0, 6, 1458},
|
|
||||||
{6, 12, 0, 0, 6, 1470},
|
|
||||||
{5, 11, 0, 0, 6, 1482},
|
|
||||||
{8, 11, 0, 0, 9, 1493},
|
|
||||||
{7, 12, -1, 0, 9, 1504},
|
|
||||||
{7, 12, -1, 0, 9, 1516},
|
|
||||||
{7, 12, -1, 0, 9, 1528},
|
|
||||||
{7, 12, -1, 0, 9, 1540},
|
|
||||||
{7, 12, -1, 0, 9, 1552},
|
|
||||||
{7, 11, -1, 0, 9, 1564},
|
|
||||||
{6, 6, 0, -1, 7, 1575},
|
|
||||||
{9, 11, 0, 0, 9, 1581},
|
|
||||||
{7, 12, -1, 0, 9, 1603},
|
|
||||||
{7, 12, -1, 0, 9, 1615},
|
|
||||||
{7, 12, -1, 0, 9, 1627},
|
|
||||||
{7, 11, -1, 0, 9, 1639},
|
|
||||||
{8, 12, 0, 0, 8, 1650},
|
|
||||||
{7, 11, -1, 0, 9, 1662},
|
|
||||||
{6, 11, 0, 0, 7, 1673},
|
|
||||||
{7, 12, 0, 0, 7, 1684},
|
|
||||||
{7, 12, 0, 0, 7, 1696},
|
|
||||||
{7, 12, 0, 0, 7, 1708},
|
|
||||||
{7, 12, 0, 0, 7, 1720},
|
|
||||||
{7, 11, 0, 0, 7, 1732},
|
|
||||||
{7, 12, 0, 0, 7, 1743},
|
|
||||||
{10, 8, 0, 0, 11, 1755},
|
|
||||||
{6, 11, 0, 3, 7, 1771},
|
|
||||||
{6, 12, 0, 0, 7, 1782},
|
|
||||||
{6, 12, 0, 0, 7, 1794},
|
|
||||||
{6, 12, 0, 0, 7, 1806},
|
|
||||||
{6, 11, 0, 0, 7, 1818},
|
|
||||||
{4, 12, 0, 0, 5, 1829},
|
|
||||||
{4, 12, 0, 0, 5, 1841},
|
|
||||||
{6, 12, 1, 0, 5, 1853},
|
|
||||||
{5, 11, 1, 0, 5, 1865},
|
|
||||||
{6, 11, 0, 0, 7, 1876},
|
|
||||||
{6, 12, 0, 0, 7, 1887},
|
|
||||||
{6, 12, 0, 0, 7, 1899},
|
|
||||||
{6, 12, 0, 0, 7, 1911},
|
|
||||||
{6, 12, 0, 0, 7, 1923},
|
|
||||||
{6, 12, 0, 0, 7, 1935},
|
|
||||||
{6, 11, 0, 0, 7, 1947},
|
|
||||||
{6, 8, 0, 0, 7, 1958},
|
|
||||||
{6, 10, 0, 1, 7, 1966},
|
|
||||||
{6, 12, 0, 0, 7, 1976},
|
|
||||||
{6, 12, 0, 0, 7, 1988},
|
|
||||||
{6, 12, 0, 0, 7, 2000},
|
|
||||||
{6, 11, 0, 0, 7, 2012},
|
|
||||||
{6, 15, 0, 3, 7, 2023},
|
|
||||||
{6, 14, 0, 3, 7, 2038},
|
|
||||||
{6, 14, 0, 3, 7, 2052},
|
|
||||||
},
|
|
||||||
bitmap_data
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@@ -1,623 +0,0 @@
|
|||||||
/**
|
|
||||||
* $Id$
|
|
||||||
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or
|
|
||||||
* modify it under the terms of the GNU General Public License
|
|
||||||
* as published by the Free Software Foundation; either version 2
|
|
||||||
* of the License, or (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
*
|
|
||||||
* The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* The Original Code is: all of this file.
|
|
||||||
*
|
|
||||||
* Contributor(s): none yet.
|
|
||||||
*
|
|
||||||
* ***** END GPL LICENSE BLOCK *****
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef HAVE_CONFIG_H
|
|
||||||
#include <config.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "BMF_FontData.h"
|
|
||||||
#include "BMF_Settings.h"
|
|
||||||
|
|
||||||
#if BMF_INCLUDE_HELVB14
|
|
||||||
|
|
||||||
static unsigned char bitmap_data[]= {
|
|
||||||
0x00,0xc0,0xc0,0x00,0x00,0x80,0x80,0x80,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0x90,0xd8,0xd8,
|
|
||||||
0xd8,0x48,0x48,0x48,0xfe,0xfe,0x24,0x24,
|
|
||||||
0x7f,0x7f,0x12,0x12,0x12,0x10,0x10,0x38,
|
|
||||||
0x7c,0xd6,0xd6,0x16,0x3c,0x78,0xd0,0xd6,
|
|
||||||
0xd6,0x7c,0x38,0x10,0x30,0xc0,0x11,0xe0,
|
|
||||||
0x19,0x20,0x09,0x20,0x0d,0xe0,0x64,0xc0,
|
|
||||||
0xf6,0x00,0x92,0x00,0x93,0x00,0xf1,0x00,
|
|
||||||
0x61,0x80,0x71,0x80,0xff,0x00,0xce,0x00,
|
|
||||||
0xc6,0x00,0xcf,0x00,0x79,0x00,0x30,0x00,
|
|
||||||
0x38,0x00,0x6c,0x00,0x6c,0x00,0x7c,0x00,
|
|
||||||
0x38,0x00,0x80,0x40,0xc0,0xc0,0x30,0x20,
|
|
||||||
0x60,0x40,0x40,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0x40,0x40,0x60,0x20,0x30,0xc0,0x40,0x60,
|
|
||||||
0x20,0x20,0x30,0x30,0x30,0x30,0x30,0x20,
|
|
||||||
0x20,0x60,0x40,0xc0,0xd8,0x50,0x20,0xf8,
|
|
||||||
0x20,0x20,0x30,0x30,0x30,0xfc,0xfc,0x30,
|
|
||||||
0x30,0x30,0x80,0x40,0x40,0xc0,0xc0,0xfe,
|
|
||||||
0xfe,0xc0,0xc0,0x80,0x80,0xc0,0x40,0x40,
|
|
||||||
0x60,0x20,0x20,0x30,0x10,0x10,0x30,0x78,
|
|
||||||
0x48,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x48,
|
|
||||||
0x78,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0xf0,0x30,0x10,0xfc,0xfc,
|
|
||||||
0x60,0x60,0x30,0x18,0x18,0x0c,0xcc,0xcc,
|
|
||||||
0x78,0x30,0x30,0x78,0xcc,0xcc,0x0c,0x38,
|
|
||||||
0x38,0x0c,0xcc,0xcc,0x78,0x30,0x18,0x18,
|
|
||||||
0xfc,0xfc,0x98,0x58,0x58,0x38,0x38,0x38,
|
|
||||||
0x18,0x18,0x70,0xf8,0xcc,0x0c,0x0c,0xcc,
|
|
||||||
0xfc,0xd8,0x60,0x60,0x7c,0x7c,0x30,0x78,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0xfc,0xd8,0xc0,0x4c,
|
|
||||||
0x7c,0x38,0x60,0x60,0x60,0x20,0x30,0x30,
|
|
||||||
0x10,0x18,0x08,0x0c,0xfc,0xfc,0x70,0xf8,
|
|
||||||
0xcc,0xcc,0xcc,0x78,0x30,0x78,0xcc,0xcc,
|
|
||||||
0x7c,0x38,0x70,0xf8,0xc8,0x0c,0x6c,0xfc,
|
|
||||||
0xcc,0xcc,0xcc,0xcc,0x78,0x30,0xc0,0xc0,
|
|
||||||
0x00,0x00,0x00,0x00,0xc0,0xc0,0x80,0x40,
|
|
||||||
0x40,0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,
|
|
||||||
0xc0,0x02,0x0e,0x3c,0xf0,0xf0,0x3c,0x0e,
|
|
||||||
0x02,0xfc,0xfc,0x00,0x00,0xfc,0xfc,0x80,
|
|
||||||
0xe0,0x78,0x1e,0x1e,0x78,0xe0,0x80,0x30,
|
|
||||||
0x30,0x00,0x30,0x30,0x18,0x18,0x0c,0xcc,
|
|
||||||
0xcc,0x7c,0x38,0x0f,0x80,0x38,0x60,0x60,
|
|
||||||
0x00,0x4d,0xc0,0xd3,0x20,0x93,0x30,0x91,
|
|
||||||
0x10,0x91,0x90,0xc9,0x90,0x46,0x90,0x60,
|
|
||||||
0x30,0x30,0x20,0x1c,0xc0,0x07,0x80,0xe1,
|
|
||||||
0xc0,0x61,0x80,0x7f,0x80,0x7f,0x80,0x33,
|
|
||||||
0x00,0x33,0x00,0x33,0x00,0x1e,0x00,0x1e,
|
|
||||||
0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0xfc,
|
|
||||||
0xfe,0xc7,0xc3,0xc7,0xfe,0xfc,0xc6,0xc3,
|
|
||||||
0xc7,0xfe,0xfc,0x3c,0x7e,0x63,0xc3,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc3,0x63,0x7e,0x3c,0xfc,
|
|
||||||
0xfe,0xc6,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
|
|
||||||
0xc6,0xfe,0xfc,0xfe,0xfe,0xc0,0xc0,0xc0,
|
|
||||||
0xfe,0xfe,0xc0,0xc0,0xc0,0xfe,0xfe,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xfc,0xfc,0xc0,0xc0,
|
|
||||||
0xc0,0xfe,0xfe,0x3e,0x80,0x7f,0x80,0x63,
|
|
||||||
0x80,0xc1,0x80,0xc7,0x80,0xc7,0x80,0xc0,
|
|
||||||
0x00,0xc0,0x00,0xc1,0x80,0x63,0x80,0x7f,
|
|
||||||
0x00,0x3e,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,
|
|
||||||
0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0x78,0xfc,0xcc,0xcc,0xcc,
|
|
||||||
0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0xc3,
|
|
||||||
0x80,0xc7,0x00,0xc6,0x00,0xcc,0x00,0xdc,
|
|
||||||
0x00,0xf8,0x00,0xf0,0x00,0xd8,0x00,0xcc,
|
|
||||||
0x00,0xce,0x00,0xc7,0x00,0xc3,0x00,0xfe,
|
|
||||||
0xfe,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xcc,0xc0,0xcc,0xc0,0xcc,
|
|
||||||
0xc0,0xde,0xc0,0xde,0xc0,0xd2,0xc0,0xd2,
|
|
||||||
0xc0,0xf3,0xc0,0xf3,0xc0,0xe1,0xc0,0xe1,
|
|
||||||
0xc0,0xe1,0xc0,0xc3,0xc7,0xc7,0xcf,0xcf,
|
|
||||||
0xdb,0xdb,0xf3,0xf3,0xe3,0xe3,0xc3,0x3e,
|
|
||||||
0x00,0x7f,0x00,0x63,0x00,0xc1,0x80,0xc1,
|
|
||||||
0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,
|
|
||||||
0x80,0x63,0x00,0x7f,0x00,0x3e,0x00,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xf8,0xfc,0xce,0xc6,0xc6,
|
|
||||||
0xce,0xfc,0xf8,0x01,0x80,0x3d,0x80,0x7f,
|
|
||||||
0x00,0x67,0x00,0xcd,0x80,0xcd,0x80,0xc1,
|
|
||||||
0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,
|
|
||||||
0x00,0x7f,0x00,0x3e,0x00,0xc3,0xc3,0xc3,
|
|
||||||
0xc3,0xc7,0xfe,0xfe,0xc7,0xc3,0xc7,0xfe,
|
|
||||||
0xfc,0x3c,0x7e,0xe7,0xc3,0x07,0x1e,0x78,
|
|
||||||
0xe0,0xc3,0xe7,0x7e,0x3c,0x18,0x18,0x18,
|
|
||||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,
|
|
||||||
0xff,0x3c,0x7e,0xe7,0xc3,0xc3,0xc3,0xc3,
|
|
||||||
0xc3,0xc3,0xc3,0xc3,0xc3,0x18,0x18,0x18,
|
|
||||||
0x3c,0x3c,0x24,0x66,0x66,0x66,0xc3,0xc3,
|
|
||||||
0xc3,0x30,0xc0,0x30,0xc0,0x30,0xc0,0x39,
|
|
||||||
0xc0,0x79,0xe0,0x69,0x60,0x6f,0x60,0x6f,
|
|
||||||
0x60,0xc6,0x30,0xc6,0x30,0xc6,0x30,0xc6,
|
|
||||||
0x30,0xe3,0x80,0x63,0x00,0x63,0x00,0x36,
|
|
||||||
0x00,0x36,0x00,0x1c,0x00,0x1c,0x00,0x36,
|
|
||||||
0x00,0x36,0x00,0x63,0x00,0x63,0x00,0xe3,
|
|
||||||
0x80,0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,
|
|
||||||
0x00,0x0c,0x00,0x1e,0x00,0x1e,0x00,0x33,
|
|
||||||
0x00,0x33,0x00,0x61,0x80,0x61,0x80,0xe1,
|
|
||||||
0xc0,0xff,0xff,0x60,0x70,0x30,0x18,0x18,
|
|
||||||
0x0c,0x0e,0x06,0xff,0xff,0xe0,0xe0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xe0,0xe0,0x10,0x10,0x30,0x20,
|
|
||||||
0x20,0x60,0x40,0x40,0xc0,0x80,0x80,0xe0,
|
|
||||||
0xe0,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0xe0,0xe0,0xcc,0xcc,
|
|
||||||
0x48,0x78,0x78,0x30,0x30,0xfe,0xc0,0xc0,
|
|
||||||
0x80,0x40,0x6c,0xfc,0xcc,0xcc,0x7c,0x1c,
|
|
||||||
0xcc,0xfc,0x78,0xd8,0xfc,0xee,0xc6,0xc6,
|
|
||||||
0xc6,0xee,0xfc,0xd8,0xc0,0xc0,0xc0,0x38,
|
|
||||||
0x7c,0xec,0xc0,0xc0,0xc0,0xec,0x7c,0x38,
|
|
||||||
0x36,0x7e,0xee,0xc6,0xc6,0xc6,0xee,0x7e,
|
|
||||||
0x36,0x06,0x06,0x06,0x38,0x7c,0xcc,0xc0,
|
|
||||||
0xfc,0xcc,0xcc,0x78,0x30,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0xf0,0xf0,0x60,0x70,
|
|
||||||
0x30,0x78,0xfc,0xc6,0x36,0x7e,0xee,0xc6,
|
|
||||||
0xc6,0xc6,0xee,0x7e,0x36,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0xe6,0xfe,0xdc,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0x00,0xc0,0xc0,0xc0,0xe0,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x00,0x60,0x60,0xce,0xcc,0xd8,0xd8,
|
|
||||||
0xf0,0xf0,0xd8,0xd8,0xcc,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xcc,0xc0,0xcc,0xc0,
|
|
||||||
0xcc,0xc0,0xcc,0xc0,0xcc,0xc0,0xcc,0xc0,
|
|
||||||
0xcc,0xc0,0xff,0xc0,0xdb,0x80,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0xc6,0xe6,0xfe,0xdc,0x38,
|
|
||||||
0x7c,0xee,0xc6,0xc6,0xc6,0xee,0x7c,0x38,
|
|
||||||
0xc0,0xc0,0xc0,0xd8,0xfc,0xee,0xc6,0xc6,
|
|
||||||
0xc6,0xee,0xfc,0xd8,0x06,0x06,0x06,0x36,
|
|
||||||
0x7e,0xee,0xc6,0xc6,0xc6,0xee,0x7e,0x36,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xe0,0xf8,
|
|
||||||
0xd0,0x78,0xfc,0xcc,0x1c,0x78,0xe0,0xcc,
|
|
||||||
0xfc,0x78,0x30,0x70,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0xf0,0xf0,0x60,0x60,0x76,0xfe,0xce,
|
|
||||||
0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x30,0x30,
|
|
||||||
0x30,0x78,0x78,0x48,0xcc,0xcc,0xcc,0x33,
|
|
||||||
0x00,0x33,0x00,0x33,0x00,0x73,0x80,0x7f,
|
|
||||||
0x80,0x4c,0x80,0x4c,0x80,0xcc,0xc0,0xcc,
|
|
||||||
0xc0,0xc6,0xee,0x6c,0x38,0x38,0x38,0x6c,
|
|
||||||
0xee,0xc6,0x60,0x70,0x10,0x18,0x38,0x38,
|
|
||||||
0x2c,0x6c,0x6c,0xc6,0xc6,0xc6,0xfc,0xfc,
|
|
||||||
0x60,0x60,0x30,0x18,0x18,0xfc,0xfc,0x30,
|
|
||||||
0x70,0x60,0x60,0x60,0x60,0x60,0xc0,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x70,0x30,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0xc0,0xe0,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x30,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0xe0,0xc0,0x98,0xfc,0x64,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0x80,0x80,0x80,0x00,
|
|
||||||
0x00,0xc0,0xc0,0x20,0x20,0x38,0x7c,0xec,
|
|
||||||
0xe0,0xd0,0xd0,0xdc,0x7c,0x38,0x08,0x08,
|
|
||||||
0xcc,0xfe,0x70,0x30,0x30,0xf8,0x60,0xc0,
|
|
||||||
0xcc,0xcc,0x7c,0x38,0xcc,0x78,0xcc,0xcc,
|
|
||||||
0xcc,0xcc,0x78,0xcc,0x18,0x18,0x18,0x7e,
|
|
||||||
0x18,0x7e,0x18,0x3c,0x24,0x66,0x42,0xc3,
|
|
||||||
0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,
|
|
||||||
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x38,
|
|
||||||
0x7c,0x6c,0x0c,0x18,0x7c,0xe6,0xc6,0xce,
|
|
||||||
0x7c,0x30,0x60,0x6c,0x7c,0x38,0xd8,0xd8,
|
|
||||||
0x1e,0x00,0x33,0x00,0x40,0x80,0xde,0xc0,
|
|
||||||
0xb3,0x40,0xa0,0x40,0xa0,0x40,0xb3,0x40,
|
|
||||||
0xde,0xc0,0x40,0x80,0x33,0x00,0x1e,0x00,
|
|
||||||
0xf0,0x00,0xd0,0xb0,0x70,0xb0,0x60,0x24,
|
|
||||||
0x6c,0xd8,0xd8,0x6c,0x24,0x06,0x06,0x06,
|
|
||||||
0xfe,0xfe,0xe0,0xe0,0x1e,0x00,0x33,0x00,
|
|
||||||
0x40,0x80,0xd2,0xc0,0x96,0x40,0x9c,0x40,
|
|
||||||
0x92,0x40,0x92,0x40,0xdc,0xc0,0x40,0x80,
|
|
||||||
0x33,0x00,0x1e,0x00,0xf0,0x60,0x90,0x90,
|
|
||||||
0x90,0x60,0xfc,0xfc,0x00,0x30,0x30,0x30,
|
|
||||||
0xfc,0xfc,0x30,0x30,0x30,0xf0,0x80,0x40,
|
|
||||||
0x20,0x90,0xb0,0x60,0x60,0xb0,0x10,0x60,
|
|
||||||
0x30,0x90,0x60,0xc0,0x60,0xc0,0xc0,0xc0,
|
|
||||||
0xf6,0xfe,0xce,0xc6,0xc6,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
|
|
||||||
0x14,0x74,0xf4,0xf4,0xf4,0xf4,0x74,0x3e,
|
|
||||||
0xc0,0xc0,0xc0,0x60,0x40,0x20,0x20,0x20,
|
|
||||||
0x20,0x20,0xe0,0x20,0xf0,0x00,0x60,0x90,
|
|
||||||
0x90,0x90,0x60,0x90,0xd8,0x6c,0x6c,0xd8,
|
|
||||||
0x90,0x20,0x40,0x10,0x40,0x13,0xe0,0x0a,
|
|
||||||
0x40,0x09,0x40,0x24,0xc0,0x24,0x40,0x22,
|
|
||||||
0x00,0x22,0x00,0x21,0x00,0xe1,0x00,0x20,
|
|
||||||
0x80,0x21,0xe0,0x11,0x00,0x10,0x80,0x08,
|
|
||||||
0x40,0x09,0x20,0x25,0x60,0x24,0xc0,0x22,
|
|
||||||
0x00,0x22,0x00,0x21,0x00,0xe1,0x00,0x20,
|
|
||||||
0x80,0x20,0x40,0x10,0x40,0x13,0xe0,0x0a,
|
|
||||||
0x40,0x09,0x40,0x64,0xc0,0xb4,0x40,0x12,
|
|
||||||
0x00,0x62,0x00,0x31,0x00,0x91,0x00,0x60,
|
|
||||||
0x80,0x70,0xf8,0xcc,0xcc,0xc0,0x60,0x60,
|
|
||||||
0x30,0x30,0x00,0x30,0x30,0xe1,0xc0,0x61,
|
|
||||||
0x80,0x7f,0x80,0x3f,0x00,0x33,0x00,0x33,
|
|
||||||
0x00,0x12,0x00,0x1e,0x00,0x1e,0x00,0x0c,
|
|
||||||
0x00,0x0c,0x00,0x00,0x00,0x0c,0x00,0x18,
|
|
||||||
0x00,0xe1,0xc0,0x61,0x80,0x7f,0x80,0x3f,
|
|
||||||
0x00,0x33,0x00,0x33,0x00,0x12,0x00,0x1e,
|
|
||||||
0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x00,
|
|
||||||
0x00,0x0c,0x00,0x06,0x00,0xe1,0xc0,0x61,
|
|
||||||
0x80,0x7f,0x80,0x3f,0x00,0x33,0x00,0x33,
|
|
||||||
0x00,0x12,0x00,0x1e,0x00,0x1e,0x00,0x0c,
|
|
||||||
0x00,0x0c,0x00,0x00,0x00,0x36,0x00,0x1c,
|
|
||||||
0x00,0xe1,0xc0,0x61,0x80,0x7f,0x80,0x3f,
|
|
||||||
0x00,0x33,0x00,0x33,0x00,0x12,0x00,0x1e,
|
|
||||||
0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x00,
|
|
||||||
0x00,0x16,0x00,0x0d,0x00,0xe1,0xc0,0x61,
|
|
||||||
0x80,0x7f,0x80,0x3f,0x00,0x33,0x00,0x33,
|
|
||||||
0x00,0x12,0x00,0x1e,0x00,0x1e,0x00,0x0c,
|
|
||||||
0x00,0x0c,0x00,0x00,0x00,0x36,0x00,0x36,
|
|
||||||
0x00,0xe1,0xc0,0x61,0x80,0x7f,0x80,0x3f,
|
|
||||||
0x00,0x33,0x00,0x33,0x00,0x12,0x00,0x1e,
|
|
||||||
0x00,0x1e,0x00,0x0c,0x00,0x0c,0x00,0x0c,
|
|
||||||
0x00,0x0a,0x00,0x06,0x00,0xe3,0xf8,0x63,
|
|
||||||
0xf8,0x7f,0x00,0x7f,0x00,0x33,0x00,0x33,
|
|
||||||
0xf8,0x3b,0xf8,0x1b,0x00,0x1b,0x00,0x1f,
|
|
||||||
0x00,0x0f,0xf8,0x0f,0xf8,0x18,0x0c,0x08,
|
|
||||||
0x3c,0x7e,0x63,0xc3,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc3,0x63,0x7e,0x3c,0xfe,0xfe,0xc0,0xc0,
|
|
||||||
0xc0,0xfe,0xfe,0xc0,0xc0,0xfe,0xfe,0x00,
|
|
||||||
0x18,0x30,0xfe,0xfe,0xc0,0xc0,0xc0,0xfe,
|
|
||||||
0xfe,0xc0,0xc0,0xfe,0xfe,0x00,0x18,0x0c,
|
|
||||||
0xfe,0xfe,0xc0,0xc0,0xc0,0xfe,0xfe,0xc0,
|
|
||||||
0xc0,0xfe,0xfe,0x00,0x6c,0x38,0xfe,0xfe,
|
|
||||||
0xc0,0xc0,0xc0,0xfe,0xfe,0xc0,0xc0,0xfe,
|
|
||||||
0xfe,0x00,0x6c,0x6c,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,
|
|
||||||
0x60,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0xc0,0x60,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0x00,0xd8,0x70,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x00,0xd8,0xd8,0x7e,0x00,0x7f,0x00,
|
|
||||||
0x63,0x00,0x61,0x80,0x61,0x80,0xf9,0x80,
|
|
||||||
0xf9,0x80,0x61,0x80,0x61,0x80,0x63,0x00,
|
|
||||||
0x7f,0x00,0x7e,0x00,0xc3,0xc7,0xc7,0xcf,
|
|
||||||
0xcb,0xdb,0xd3,0xf3,0xe3,0xe3,0xc3,0x00,
|
|
||||||
0x2c,0x1a,0x3e,0x00,0x7f,0x00,0x63,0x00,
|
|
||||||
0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
|
|
||||||
0xc1,0x80,0x63,0x00,0x7f,0x00,0x3e,0x00,
|
|
||||||
0x00,0x00,0x0c,0x00,0x18,0x00,0x3e,0x00,
|
|
||||||
0x7f,0x00,0x63,0x00,0xc1,0x80,0xc1,0x80,
|
|
||||||
0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x00,
|
|
||||||
0x7f,0x00,0x3e,0x00,0x00,0x00,0x18,0x00,
|
|
||||||
0x0c,0x00,0x3e,0x00,0x7f,0x00,0x63,0x00,
|
|
||||||
0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
|
|
||||||
0xc1,0x80,0x63,0x00,0x7f,0x00,0x3e,0x00,
|
|
||||||
0x00,0x00,0x36,0x00,0x1c,0x00,0x3e,0x00,
|
|
||||||
0x7f,0x00,0x63,0x00,0xc1,0x80,0xc1,0x80,
|
|
||||||
0xc1,0x80,0xc1,0x80,0xc1,0x80,0x63,0x00,
|
|
||||||
0x7f,0x00,0x3e,0x00,0x00,0x00,0x2c,0x00,
|
|
||||||
0x1a,0x00,0x3e,0x00,0x7f,0x00,0x63,0x00,
|
|
||||||
0xc1,0x80,0xc1,0x80,0xc1,0x80,0xc1,0x80,
|
|
||||||
0xc1,0x80,0x63,0x00,0x7f,0x00,0x3e,0x00,
|
|
||||||
0x00,0x00,0x36,0x00,0x36,0x00,0x84,0xcc,
|
|
||||||
0x78,0x30,0x30,0x78,0xcc,0x84,0xbe,0x00,
|
|
||||||
0xff,0x00,0x63,0x00,0xf1,0x80,0xd1,0x80,
|
|
||||||
0xc9,0x80,0xc9,0x80,0xc5,0x80,0xc7,0x80,
|
|
||||||
0x63,0x00,0x7f,0x80,0x3e,0x80,0x3c,0x7e,
|
|
||||||
0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
|
|
||||||
0xc3,0x00,0x18,0x30,0x3c,0x7e,0xe7,0xc3,
|
|
||||||
0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0x00,
|
|
||||||
0x18,0x0c,0x3c,0x7e,0xe7,0xc3,0xc3,0xc3,
|
|
||||||
0xc3,0xc3,0xc3,0xc3,0xc3,0x00,0x6c,0x38,
|
|
||||||
0x3c,0x7e,0xe7,0xc3,0xc3,0xc3,0xc3,0xc3,
|
|
||||||
0xc3,0xc3,0xc3,0x00,0x6c,0x6c,0x0c,0x00,
|
|
||||||
0x0c,0x00,0x0c,0x00,0x0c,0x00,0x0c,0x00,
|
|
||||||
0x1e,0x00,0x1e,0x00,0x33,0x00,0x33,0x00,
|
|
||||||
0x61,0x80,0xe1,0xc0,0x00,0x00,0x0c,0x00,
|
|
||||||
0x06,0x00,0xc0,0xc0,0xf8,0xfc,0xce,0xc6,
|
|
||||||
0xc6,0xce,0xfc,0xf8,0xc0,0xc0,0xd8,0xdc,
|
|
||||||
0xc6,0xc6,0xc6,0xdc,0xd8,0xcc,0xcc,0xcc,
|
|
||||||
0x7c,0x38,0x6c,0xfc,0xcc,0xcc,0x7c,0x1c,
|
|
||||||
0xcc,0xfc,0x78,0x00,0x30,0x60,0x6c,0xfc,
|
|
||||||
0xcc,0xcc,0x7c,0x1c,0xcc,0xfc,0x78,0x00,
|
|
||||||
0x30,0x18,0x6c,0xfc,0xcc,0xcc,0x7c,0x1c,
|
|
||||||
0xcc,0xfc,0x78,0x00,0xd8,0x70,0x6c,0xfc,
|
|
||||||
0xcc,0xcc,0x7c,0x1c,0xcc,0xfc,0x78,0x00,
|
|
||||||
0x58,0x34,0x6c,0xfc,0xcc,0xcc,0x7c,0x1c,
|
|
||||||
0xcc,0xfc,0x78,0x00,0xd8,0xd8,0x6c,0xfc,
|
|
||||||
0xcc,0xcc,0x7c,0x1c,0xcc,0xfc,0x78,0x00,
|
|
||||||
0x30,0x28,0x18,0x73,0x80,0xff,0xc0,0xcc,
|
|
||||||
0xc0,0xcc,0x00,0x7f,0xc0,0x1c,0xc0,0xcc,
|
|
||||||
0xc0,0xff,0xc0,0x73,0x80,0x30,0x18,0x10,
|
|
||||||
0x38,0x7c,0xec,0xc0,0xc0,0xc0,0xec,0x7c,
|
|
||||||
0x38,0x38,0x7c,0xcc,0xc0,0xfc,0xcc,0xcc,
|
|
||||||
0x78,0x30,0x00,0x30,0x60,0x38,0x7c,0xcc,
|
|
||||||
0xc0,0xfc,0xcc,0xcc,0x78,0x30,0x00,0x30,
|
|
||||||
0x18,0x38,0x7c,0xcc,0xc0,0xfc,0xcc,0xcc,
|
|
||||||
0x78,0x30,0x00,0x6c,0x38,0x38,0x7c,0xcc,
|
|
||||||
0xc0,0xfc,0xcc,0xcc,0x78,0x30,0x00,0xd8,
|
|
||||||
0xd8,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
|
|
||||||
0x60,0x60,0x00,0x60,0xc0,0xc0,0xc0,0xc0,
|
|
||||||
0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0xc0,
|
|
||||||
0x60,0x30,0x30,0x30,0x30,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x00,0xd8,0x70,0x30,0x30,0x30,
|
|
||||||
0x30,0x30,0x30,0x30,0x30,0x30,0x00,0xd8,
|
|
||||||
0xd8,0x38,0x7c,0xee,0xc6,0xc6,0xc6,0xee,
|
|
||||||
0x7c,0x3c,0xf8,0x38,0x6c,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0xe6,0xfe,0xdc,0x00,0x58,
|
|
||||||
0x34,0x38,0x7c,0xee,0xc6,0xc6,0xc6,0xee,
|
|
||||||
0x7c,0x38,0x00,0x18,0x30,0x38,0x7c,0xee,
|
|
||||||
0xc6,0xc6,0xc6,0xee,0x7c,0x38,0x00,0x30,
|
|
||||||
0x18,0x38,0x7c,0xee,0xc6,0xc6,0xc6,0xee,
|
|
||||||
0x7c,0x38,0x00,0x6c,0x38,0x38,0x7c,0xee,
|
|
||||||
0xc6,0xc6,0xc6,0xee,0x7c,0x38,0x00,0x58,
|
|
||||||
0x34,0x38,0x7c,0xee,0xc6,0xc6,0xc6,0xee,
|
|
||||||
0x7c,0x38,0x00,0x6c,0x6c,0x30,0x30,0x00,
|
|
||||||
0xfc,0xfc,0x00,0x30,0x30,0xb8,0x7c,0xee,
|
|
||||||
0xe6,0xd6,0xce,0xee,0x7c,0x3a,0x76,0xfe,
|
|
||||||
0xce,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,
|
|
||||||
0x18,0x30,0x76,0xfe,0xce,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0x00,0x30,0x18,0x76,0xfe,
|
|
||||||
0xce,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,
|
|
||||||
0x6c,0x38,0x76,0xfe,0xce,0xc6,0xc6,0xc6,
|
|
||||||
0xc6,0xc6,0xc6,0x00,0x6c,0x6c,0x60,0x70,
|
|
||||||
0x10,0x18,0x38,0x38,0x2c,0x6c,0x6c,0xc6,
|
|
||||||
0xc6,0xc6,0x00,0x30,0x18,0xc0,0xc0,0xc0,
|
|
||||||
0xd8,0xfc,0xee,0xc6,0xc6,0xc6,0xee,0xfc,
|
|
||||||
0xd8,0xc0,0xc0,0xc0,0x60,0x70,0x10,0x18,
|
|
||||||
0x38,0x38,0x2c,0x6c,0x6c,0xc6,0xc6,0xc6,
|
|
||||||
0x00,0x6c,0x6c,
|
|
||||||
};
|
|
||||||
|
|
||||||
BMF_FontData BMF_font_helvb14 = {
|
|
||||||
-2, -3,
|
|
||||||
12, 14,
|
|
||||||
{
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0, 0, 0, 0, 12, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{1, 1, 0, 0, 3, 0},
|
|
||||||
{2, 12, -1, 0, 4, 1},
|
|
||||||
{5, 4, 0, -8, 6, 13},
|
|
||||||
{8, 12, 1, 0, 7, 17},
|
|
||||||
{7, 15, 0, 2, 7, 29},
|
|
||||||
{11, 11, 0, 0, 12, 44},
|
|
||||||
{9, 12, 0, 0, 9, 66},
|
|
||||||
{2, 4, -1, -8, 4, 90},
|
|
||||||
{4, 15, 0, 3, 4, 94},
|
|
||||||
{4, 15, 1, 3, 4, 109},
|
|
||||||
{5, 6, 0, -6, 5, 124},
|
|
||||||
{6, 8, -1, 0, 8, 130},
|
|
||||||
{2, 5, 0, 3, 3, 138},
|
|
||||||
{7, 2, 0, -3, 8, 143},
|
|
||||||
{2, 2, 0, 0, 3, 145},
|
|
||||||
{4, 11, 0, 0, 4, 147},
|
|
||||||
{6, 12, 0, 0, 7, 158},
|
|
||||||
{4, 12, 0, 0, 7, 170},
|
|
||||||
{6, 12, 0, 0, 7, 182},
|
|
||||||
{6, 12, 0, 0, 7, 194},
|
|
||||||
{6, 12, 0, 0, 7, 206},
|
|
||||||
{6, 12, 0, 0, 7, 218},
|
|
||||||
{6, 12, 0, 0, 7, 230},
|
|
||||||
{6, 12, 0, 0, 7, 242},
|
|
||||||
{6, 12, 0, 0, 7, 254},
|
|
||||||
{6, 12, 0, 0, 7, 266},
|
|
||||||
{2, 8, -1, 0, 4, 278},
|
|
||||||
{2, 11, -1, 3, 4, 286},
|
|
||||||
{7, 8, 0, 0, 8, 297},
|
|
||||||
{6, 6, -1, -1, 8, 305},
|
|
||||||
{7, 8, 0, 0, 8, 311},
|
|
||||||
{6, 12, -1, 0, 8, 319},
|
|
||||||
{12, 14, 0, 2, 13, 331},
|
|
||||||
{10, 12, 1, 0, 9, 359},
|
|
||||||
{8, 12, 0, 0, 9, 383},
|
|
||||||
{8, 12, 0, 0, 9, 395},
|
|
||||||
{8, 12, 0, 0, 9, 407},
|
|
||||||
{7, 12, 0, 0, 8, 419},
|
|
||||||
{7, 12, -1, 0, 8, 431},
|
|
||||||
{9, 12, 0, 0, 10, 443},
|
|
||||||
{8, 12, 0, 0, 9, 467},
|
|
||||||
{2, 12, -1, 0, 5, 479},
|
|
||||||
{6, 12, 0, 0, 7, 491},
|
|
||||||
{9, 12, -1, 0, 10, 503},
|
|
||||||
{7, 12, -1, 0, 8, 527},
|
|
||||||
{10, 12, 0, 0, 11, 539},
|
|
||||||
{8, 12, 0, 0, 9, 563},
|
|
||||||
{9, 12, 0, 0, 10, 575},
|
|
||||||
{7, 12, -1, 0, 9, 599},
|
|
||||||
{9, 13, 0, 1, 10, 611},
|
|
||||||
{8, 12, 0, 0, 9, 637},
|
|
||||||
{8, 12, 0, 0, 9, 649},
|
|
||||||
{8, 12, 0, 0, 9, 661},
|
|
||||||
{8, 12, 0, 0, 9, 673},
|
|
||||||
{8, 12, 0, 0, 9, 685},
|
|
||||||
{12, 12, 0, 0, 13, 697},
|
|
||||||
{9, 12, 0, 0, 10, 721},
|
|
||||||
{10, 12, 1, 0, 9, 745},
|
|
||||||
{8, 12, 0, 0, 9, 769},
|
|
||||||
{3, 15, 0, 3, 4, 781},
|
|
||||||
{4, 11, 0, 0, 4, 796},
|
|
||||||
{3, 15, 0, 3, 4, 807},
|
|
||||||
{6, 7, -1, -4, 8, 822},
|
|
||||||
{7, 1, 0, 3, 7, 829},
|
|
||||||
{2, 4, -1, -8, 4, 830},
|
|
||||||
{6, 9, 0, 0, 7, 834},
|
|
||||||
{7, 12, 0, 0, 8, 843},
|
|
||||||
{6, 9, 0, 0, 7, 855},
|
|
||||||
{7, 12, 0, 0, 8, 864},
|
|
||||||
{6, 9, 0, 0, 7, 876},
|
|
||||||
{4, 12, 0, 0, 5, 885},
|
|
||||||
{7, 12, 0, 3, 8, 897},
|
|
||||||
{7, 12, 0, 0, 8, 909},
|
|
||||||
{2, 12, 0, 0, 3, 921},
|
|
||||||
{3, 15, 1, 3, 3, 933},
|
|
||||||
{7, 12, 0, 0, 7, 948},
|
|
||||||
{2, 12, 0, 0, 3, 960},
|
|
||||||
{10, 9, 0, 0, 11, 972},
|
|
||||||
{7, 9, 0, 0, 8, 990},
|
|
||||||
{7, 9, 0, 0, 8, 999},
|
|
||||||
{7, 12, 0, 3, 8, 1008},
|
|
||||||
{7, 12, 0, 3, 8, 1020},
|
|
||||||
{5, 9, 0, 0, 5, 1032},
|
|
||||||
{6, 9, 0, 0, 7, 1041},
|
|
||||||
{4, 11, 0, 0, 5, 1050},
|
|
||||||
{7, 9, 0, 0, 8, 1061},
|
|
||||||
{6, 9, 0, 0, 7, 1070},
|
|
||||||
{10, 9, 0, 0, 11, 1079},
|
|
||||||
{7, 9, 0, 0, 8, 1097},
|
|
||||||
{7, 12, 0, 3, 8, 1106},
|
|
||||||
{6, 9, 0, 0, 7, 1118},
|
|
||||||
{4, 15, 0, 3, 5, 1127},
|
|
||||||
{1, 15, -1, 3, 4, 1142},
|
|
||||||
{4, 15, 0, 3, 5, 1157},
|
|
||||||
{6, 3, -1, -3, 8, 1172},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{0,0,0,0,0, -1},
|
|
||||||
{2, 12, -1, 3, 4, 1175},
|
|
||||||
{6, 13, 0, 2, 7, 1187},
|
|
||||||
{7, 12, 0, 0, 7, 1200},
|
|
||||||
{6, 8, 0, -2, 7, 1212},
|
|
||||||
{8, 12, 1, 0, 7, 1220},
|
|
||||||
{1, 15, -1, 3, 4, 1232},
|
|
||||||
{7, 15, 0, 3, 7, 1247},
|
|
||||||
{5, 2, 1, -10, 4, 1262},
|
|
||||||
{10, 12, 0, 0, 10, 1264},
|
|
||||||
{4, 7, 0, -5, 5, 1288},
|
|
||||||
{6, 6, 0, -1, 7, 1295},
|
|
||||||
{7, 5, 0, -2, 8, 1301},
|
|
||||||
{3, 2, 0, -3, 4, 1306},
|
|
||||||
{10, 12, 0, 0, 10, 1308},
|
|
||||||
{4, 1, 0, -11, 4, 1332},
|
|
||||||
{4, 5, 0, -7, 5, 1333},
|
|
||||||
{6, 11, -1, 0, 8, 1338},
|
|
||||||
{4, 7, 0, -5, 4, 1349},
|
|
||||||
{4, 7, 0, -5, 4, 1356},
|
|
||||||
{3, 2, -1, -10, 4, 1363},
|
|
||||||
{7, 12, 0, 3, 8, 1365},
|
|
||||||
{7, 15, 0, 3, 7, 1377},
|
|
||||||
{2, 2, 0, -5, 3, 1392},
|
|
||||||
{3, 3, 0, 3, 4, 1394},
|
|
||||||
{3, 7, 0, -5, 4, 1397},
|
|
||||||
{4, 7, 0, -5, 5, 1404},
|
|
||||||
{6, 6, 0, -1, 7, 1411},
|
|
||||||
{11, 12, 1, 0, 11, 1417},
|
|
||||||
{11, 12, 1, 0, 11, 1441},
|
|
||||||
{11, 12, 0, 0, 11, 1465},
|
|
||||||
{6, 12, -1, 3, 8, 1489},
|
|
||||||
{10, 14, 1, 0, 9, 1501},
|
|
||||||
{10, 14, 1, 0, 9, 1529},
|
|
||||||
{10, 14, 1, 0, 9, 1557},
|
|
||||||
{10, 14, 1, 0, 9, 1585},
|
|
||||||
{10, 14, 1, 0, 9, 1613},
|
|
||||||
{10, 14, 1, 0, 9, 1641},
|
|
||||||
{13, 12, 1, 0, 13, 1669},
|
|
||||||
{8, 15, 0, 3, 9, 1693},
|
|
||||||
{7, 14, 0, 0, 8, 1708},
|
|
||||||
{7, 14, 0, 0, 8, 1722},
|
|
||||||
{7, 14, 0, 0, 8, 1736},
|
|
||||||
{7, 14, 0, 0, 8, 1750},
|
|
||||||
{3, 14, 0, 0, 5, 1764},
|
|
||||||
{3, 14, -1, 0, 5, 1778},
|
|
||||||
{5, 14, 1, 0, 5, 1792},
|
|
||||||
{5, 14, 1, 0, 5, 1806},
|
|
||||||
{9, 12, 1, 0, 9, 1820},
|
|
||||||
{8, 14, 0, 0, 9, 1844},
|
|
||||||
{9, 14, 0, 0, 10, 1858},
|
|
||||||
{9, 14, 0, 0, 10, 1886},
|
|
||||||
{9, 14, 0, 0, 10, 1914},
|
|
||||||
{9, 14, 0, 0, 10, 1942},
|
|
||||||
{9, 14, 0, 0, 10, 1970},
|
|
||||||
{6, 8, -1, 0, 8, 1998},
|
|
||||||
{9, 12, 0, 0, 10, 2006},
|
|
||||||
{8, 14, 0, 0, 9, 2030},
|
|
||||||
{8, 14, 0, 0, 9, 2044},
|
|
||||||
{8, 14, 0, 0, 9, 2058},
|
|
||||||
{8, 14, 0, 0, 9, 2072},
|
|
||||||
{10, 14, 1, 0, 9, 2086},
|
|
||||||
{7, 12, -1, 0, 9, 2114},
|
|
||||||
{7, 12, 0, 0, 8, 2126},
|
|
||||||
{6, 12, 0, 0, 7, 2138},
|
|
||||||
{6, 12, 0, 0, 7, 2150},
|
|
||||||
{6, 12, 0, 0, 7, 2162},
|
|
||||||
{6, 12, 0, 0, 7, 2174},
|
|
||||||
{6, 12, 0, 0, 7, 2186},
|
|
||||||
{6, 13, 0, 0, 7, 2198},
|
|
||||||
{10, 9, 0, 0, 11, 2211},
|
|
||||||
{6, 12, 0, 3, 7, 2229},
|
|
||||||
{6, 12, 0, 0, 7, 2241},
|
|
||||||
{6, 12, 0, 0, 7, 2253},
|
|
||||||
{6, 12, 0, 0, 7, 2265},
|
|
||||||
{6, 12, 0, 0, 7, 2277},
|
|
||||||
{3, 12, 1, 0, 3, 2289},
|
|
||||||
{3, 12, 0, 0, 3, 2301},
|
|
||||||
{5, 12, 2, 0, 3, 2313},
|
|
||||||
{5, 12, 2, 0, 3, 2325},
|
|
||||||
{7, 12, 0, 0, 8, 2337},
|
|
||||||
{7, 12, 0, 0, 8, 2349},
|
|
||||||
{7, 12, 0, 0, 8, 2361},
|
|
||||||
{7, 12, 0, 0, 8, 2373},
|
|
||||||
{7, 12, 0, 0, 8, 2385},
|
|
||||||
{7, 12, 0, 0, 8, 2397},
|
|
||||||
{7, 12, 0, 0, 8, 2409},
|
|
||||||
{6, 8, -1, 0, 8, 2421},
|
|
||||||
{7, 9, 0, 0, 8, 2429},
|
|
||||||
{7, 12, 0, 0, 8, 2438},
|
|
||||||
{7, 12, 0, 0, 8, 2450},
|
|
||||||
{7, 12, 0, 0, 8, 2462},
|
|
||||||
{7, 12, 0, 0, 8, 2474},
|
|
||||||
{7, 15, 0, 3, 8, 2486},
|
|
||||||
{7, 15, 0, 3, 8, 2501},
|
|
||||||
{7, 15, 0, 3, 8, 2516},
|
|
||||||
},
|
|
||||||
bitmap_data
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user