initial commit
@@ -0,0 +1,117 @@
|
||||
FIND_PACKAGE( GLUT )
|
||||
|
||||
LINK_LIBRARIES( oglft ${FREETYPE2_LIBRARIES})
|
||||
|
||||
INCLUDE_DIRECTORIES( ${PROJECT_BINARY_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_BINARY_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${FREETYPE2_INCLUDE_DIR}
|
||||
${FREETYPE2_INCLUDE_DIR}/freetype2
|
||||
)
|
||||
INCLUDE_DIRECTORIES( ${GLUT_INCLUDE_DIR} )
|
||||
IF( ENABLE_QT )
|
||||
IF( DESIRED_QT_VERSION EQUAL 3)
|
||||
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} )
|
||||
LINK_LIBRARIES( oglft ${FREETYPE2_LIBRARIES} ${QT_LIBRARIES} )
|
||||
ELSEIF( DESIRED_QT_VERSION EQUAL 4 )
|
||||
INCLUDE_DIRECTORIES( ${QT_QTCORE_INCLUDE_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${QT_QTGUI_INCLUDE_DIR} )
|
||||
INCLUDE_DIRECTORIES( ${QT_QTOPENGL_INCLUDE_DIR} )
|
||||
LINK_LIBRARIES( oglft ${FREETYPE2_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} )
|
||||
ENDIF( DESIRED_QT_VERSION EQUAL 3)
|
||||
ENDIF( ENABLE_QT )
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
tutorial1
|
||||
tutorial1.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
tutorial1
|
||||
${GLUT_LIBRARIES}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
tutorial2
|
||||
tutorial2.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
tutorial2
|
||||
${GLUT_LIBRARIES}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
tutorial3
|
||||
tutorial3.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
tutorial3
|
||||
${GLUT_LIBRARIES}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
tutorial3
|
||||
tutorial3.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
tutorial3
|
||||
${GLUT_LIBRARIES}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
demo
|
||||
demo.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
demo
|
||||
${GLUT_LIBRARIES}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
demo2
|
||||
demo2.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
demo2
|
||||
${GLUT_LIBRARIES}
|
||||
)
|
||||
|
||||
IF( ENABLE_QT )
|
||||
IF( DESIRED_QT_VERSION EQUAL 3 )
|
||||
KDE3_AUTOMOC( demo3.cpp speedtest.cpp )
|
||||
ELSEIF( DESIRED_QT_VERSION EQUAL 4 )
|
||||
QT4_AUTOMOC( demo3.cpp speedtest.cpp )
|
||||
ENDIF( DESIRED_QT_VERSION EQUAL 3 )
|
||||
ADD_EXECUTABLE(
|
||||
demo3
|
||||
demo3.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
demo3
|
||||
${OPENGL_LIBRARIES}
|
||||
)
|
||||
|
||||
ADD_EXECUTABLE(
|
||||
speedtest
|
||||
speedtest.cpp
|
||||
)
|
||||
|
||||
TARGET_LINK_LIBRARIES(
|
||||
speedtest
|
||||
${OPENGL_LIBRARIES}
|
||||
)
|
||||
ENDIF( ENABLE_QT )
|
||||
|
||||
# Copy some files needed by demo3 into the tests directory.
|
||||
FILE( GLOB images *.png )
|
||||
FOREACH( test_png ${images} )
|
||||
GET_FILENAME_COMPONENT( png_file ${test_png} NAME )
|
||||
CONFIGURE_FILE( ${test_png}
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/${png_file}" COPYONLY )
|
||||
ENDFOREACH( test_png ${images} )
|
||||
@@ -0,0 +1,211 @@
|
||||
/*
|
||||
* Demo3UnicodeExample.h: Sample font for demo3 example.
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
FT_Byte Demo3UnicodeExample_ttf[] = {
|
||||
0,1,0,0,0,11,0,128,0,3,0,48,79,83,47,50,
|
||||
83,120,128,90,0,0,0,188,0,0,0,86,99,109,97,112,
|
||||
135,81,49,45,0,0,1,20,0,0,1,114,99,118,116,32,
|
||||
5,238,9,153,0,0,2,136,0,0,0,36,103,108,121,102,
|
||||
105,160,31,169,0,0,2,172,0,0,4,178,104,101,97,100,
|
||||
212,135,107,129,0,0,7,96,0,0,0,54,104,104,101,97,
|
||||
6,249,3,88,0,0,7,152,0,0,0,36,104,109,116,120,
|
||||
20,76,1,64,0,0,7,188,0,0,0,40,108,111,99,97,
|
||||
6,150,5,39,0,0,7,228,0,0,0,22,109,97,120,112,
|
||||
0,78,0,250,0,0,7,252,0,0,0,32,110,97,109,101,
|
||||
88,93,109,50,0,0,8,28,0,0,3,72,112,111,115,116,
|
||||
11,139,233,133,0,0,11,100,0,0,0,100,0,1,3,232,
|
||||
1,144,0,5,0,12,0,200,0,200,0,0,0,200,0,200,
|
||||
0,200,0,0,0,200,0,49,1,2,0,0,2,0,5,3,
|
||||
0,0,0,0,0,0,0,0,1,131,0,0,0,96,0,0,
|
||||
0,0,0,0,0,0,80,102,69,100,0,64,0,0,34,43,
|
||||
3,164,255,52,0,0,3,164,0,204,0,0,0,1,0,0,
|
||||
0,0,0,0,0,0,0,2,0,3,0,1,0,0,0,20,
|
||||
0,1,0,0,0,0,0,108,0,4,0,88,0,0,0,18,
|
||||
0,16,0,3,0,2,3,169,3,195,3,200,33,38,33,146,
|
||||
34,7,34,25,34,43,255,255,0,0,3,169,3,195,3,200,
|
||||
33,38,33,146,34,7,34,25,34,43,255,255,252,90,252,65,
|
||||
252,61,222,221,222,116,222,0,221,239,221,222,0,1,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,1,6,0,0,1,0,0,0,0,0,0,0,1,3,
|
||||
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,33,2,121,0,0,0,86,
|
||||
0,83,1,30,0,100,0,12,0,74,2,25,0,92,2,222,
|
||||
0,90,0,50,3,176,0,41,0,102,0,78,0,2,0,33,
|
||||
0,0,1,110,2,154,0,3,0,7,0,46,177,1,0,47,
|
||||
60,178,7,4,0,237,50,177,6,5,220,60,178,3,2,0,
|
||||
237,50,0,177,3,0,47,60,178,5,4,0,237,50,178,7,
|
||||
6,1,252,60,178,1,2,0,237,50,51,17,33,17,37,33,
|
||||
17,33,33,1,77,254,212,1,11,254,245,2,154,253,102,33,
|
||||
2,88,0,1,0,48,0,0,2,206,2,234,0,38,0,137,
|
||||
0,177,20,2,63,176,21,47,176,37,51,176,38,51,177,0,
|
||||
3,237,177,1,3,237,177,18,3,237,177,19,3,237,176,6,
|
||||
47,176,28,51,176,29,51,176,30,51,177,10,4,237,1,176,
|
||||
0,47,176,38,51,177,36,5,237,177,37,5,237,176,2,47,
|
||||
176,3,51,176,4,51,176,5,51,177,6,6,237,177,33,6,
|
||||
237,177,34,6,237,177,35,6,237,176,21,176,36,16,222,176,
|
||||
22,50,177,19,5,237,177,20,5,237,176,23,176,34,16,222,
|
||||
176,24,50,176,25,50,177,15,6,237,177,16,6,237,177,17,
|
||||
6,237,177,40,16,16,204,48,49,55,51,38,53,39,54,55,
|
||||
54,55,54,23,22,23,22,23,22,21,20,7,51,21,33,53,
|
||||
54,61,1,54,39,38,7,38,7,49,6,23,20,23,21,33,
|
||||
48,160,151,1,1,101,24,28,74,120,92,58,104,36,16,152,
|
||||
160,254,226,178,3,71,63,95,110,66,53,2,177,254,226,86,
|
||||
127,182,1,165,99,23,17,50,5,4,37,65,127,55,61,182,
|
||||
128,86,81,83,216,2,127,82,72,1,2,96,78,104,220,85,
|
||||
81,0,0,2,0,34,255,243,2,98,2,32,0,19,0,35,
|
||||
0,98,0,177,8,7,63,176,9,47,176,10,51,177,27,8,
|
||||
237,177,28,8,237,177,29,8,237,177,0,9,63,176,19,47,
|
||||
177,1,8,237,177,2,8,237,1,176,13,47,176,14,51,176,
|
||||
15,51,176,16,51,177,23,10,237,177,24,10,237,177,25,10,
|
||||
237,176,31,176,24,16,222,176,32,50,176,33,50,177,3,10,
|
||||
237,177,4,10,237,177,5,10,237,177,6,10,237,177,37,5,
|
||||
16,204,48,49,1,21,35,22,21,23,20,7,6,35,34,47,
|
||||
1,38,61,1,52,55,54,23,7,6,7,6,23,6,23,22,
|
||||
23,54,55,54,39,52,39,38,2,98,145,66,1,73,68,108,
|
||||
108,66,5,70,73,106,154,87,94,40,22,2,2,81,33,44,
|
||||
102,38,19,1,75,35,2,19,73,62,130,1,143,67,67,65,
|
||||
5,70,136,2,141,68,96,40,63,2,87,49,65,134,48,20,
|
||||
1,1,95,47,61,130,50,23,0,1,0,61,255,52,2,157,
|
||||
2,19,0,34,0,118,0,176,26,47,176,27,51,177,0,11,
|
||||
237,177,1,11,237,177,9,11,237,177,10,11,237,177,17,11,
|
||||
237,177,18,11,237,1,176,0,47,176,33,51,176,34,51,177,
|
||||
1,12,237,177,2,12,237,177,3,12,237,176,8,176,1,16,
|
||||
222,176,9,50,176,27,50,176,28,50,177,10,12,237,177,11,
|
||||
12,237,177,25,12,237,177,26,12,237,176,14,176,10,16,222,
|
||||
176,15,50,176,16,50,176,17,50,177,18,12,237,177,19,12,
|
||||
237,177,20,12,237,177,36,18,16,204,48,49,19,51,17,22,
|
||||
23,22,23,22,23,17,51,17,54,55,54,61,1,17,51,17,
|
||||
6,7,6,7,6,7,21,35,53,38,39,38,39,38,39,61,
|
||||
89,2,19,13,29,39,68,90,124,32,13,89,1,24,20,51,
|
||||
59,103,90,138,63,43,9,5,1,2,19,254,250,97,34,25,
|
||||
20,26,3,1,211,254,45,4,86,38,76,1,1,6,254,253,
|
||||
122,47,39,35,38,3,192,192,5,68,48,55,32,76,0,1,
|
||||
0,39,0,78,3,216,1,182,0,18,0,37,0,176,11,47,
|
||||
176,12,51,177,13,13,237,177,14,13,237,1,176,12,47,176,
|
||||
13,51,177,3,14,237,177,4,14,237,177,20,3,16,204,48,
|
||||
49,1,22,31,1,21,6,7,6,7,35,54,55,33,53,33,
|
||||
38,39,53,39,3,10,91,64,51,86,76,19,26,39,47,52,
|
||||
252,227,3,29,51,20,26,1,182,98,41,27,23,44,78,20,
|
||||
29,101,54,51,66,36,1,51,0,2,0,14,0,0,2,103,
|
||||
2,182,0,2,0,5,0,23,0,176,3,47,176,5,51,177,
|
||||
0,15,237,177,1,15,237,1,177,7,1,47,204,48,49,19,
|
||||
33,1,3,27,1,14,2,88,254,198,168,200,220,2,182,253,
|
||||
74,2,140,254,29,1,227,0,0,1,0,92,1,53,0,195,
|
||||
1,156,0,3,0,37,0,176,0,47,176,3,51,177,1,16,
|
||||
237,177,2,16,237,1,176,0,47,176,1,51,177,2,16,237,
|
||||
177,3,16,237,177,5,2,16,204,48,49,19,53,51,21,92,
|
||||
103,1,54,102,102,0,0,1,255,255,255,145,1,25,3,164,
|
||||
0,46,0,29,176,0,47,176,26,51,176,38,51,176,45,51,
|
||||
176,46,51,177,16,17,237,177,21,17,237,177,22,17,237,48,
|
||||
49,27,1,54,55,54,55,54,23,22,21,22,7,6,35,34,
|
||||
39,38,7,6,31,1,22,7,3,6,7,6,39,38,39,38,
|
||||
55,54,55,54,23,22,23,22,63,1,54,39,38,39,38,17,
|
||||
100,9,9,70,14,16,31,22,9,1,28,9,10,17,21,18,
|
||||
15,8,1,4,20,1,8,4,41,25,43,25,17,21,6,3,
|
||||
9,20,29,11,7,22,15,1,8,5,1,1,18,1,218,1,
|
||||
10,155,29,6,2,1,28,13,14,35,13,4,18,19,15,9,
|
||||
17,72,251,86,254,222,147,52,35,1,1,16,20,35,15,9,
|
||||
22,11,5,8,24,14,1,15,48,12,8,158,1,1,0,0,
|
||||
0,1,0,0,0,0,0,0,248,61,157,109,95,15,60,245,
|
||||
0,19,3,232,0,0,0,0,184,197,19,226,0,0,0,0,
|
||||
184,197,19,226,255,255,255,52,3,216,3,164,0,0,0,8,
|
||||
0,2,0,0,0,0,0,0,0,1,0,0,3,32,255,56,
|
||||
0,0,4,11,255,255,0,10,3,216,0,1,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,10,1,176,0,33,
|
||||
0,0,0,0,1,77,0,0,2,248,0,48,2,142,0,34,
|
||||
2,236,0,61,4,11,0,39,2,136,0,14,1,38,0,92,
|
||||
1,35,255,255,0,0,0,43,0,43,0,43,0,171,1,22,
|
||||
1,137,1,190,1,222,1,253,2,89,0,0,0,1,0,0,
|
||||
0,10,0,47,0,2,0,0,0,0,0,2,0,0,0,64,
|
||||
0,1,0,0,0,64,0,137,0,0,0,0,0,0,0,21,
|
||||
1,2,0,1,0,0,0,0,0,0,0,65,0,0,0,1,
|
||||
0,0,0,0,0,1,0,21,0,66,0,1,0,0,0,0,
|
||||
0,2,0,7,0,88,0,1,0,0,0,0,0,3,0,47,
|
||||
0,96,0,1,0,0,0,0,0,4,0,21,0,144,0,1,
|
||||
0,0,0,0,0,5,0,7,0,166,0,1,0,0,0,0,
|
||||
0,6,0,19,0,174,0,0,0,3,0,0,0,0,0,130,
|
||||
0,194,0,0,0,3,0,0,0,1,0,42,1,70,0,0,
|
||||
0,3,0,0,0,2,0,14,1,114,0,0,0,3,0,0,
|
||||
0,3,0,94,1,130,0,0,0,3,0,0,0,4,0,42,
|
||||
1,226,0,0,0,3,0,0,0,5,0,14,2,14,0,0,
|
||||
0,3,0,0,0,6,0,38,2,30,0,3,0,1,4,9,
|
||||
0,0,0,130,0,194,0,3,0,1,4,9,0,1,0,42,
|
||||
1,70,0,3,0,1,4,9,0,2,0,14,1,114,0,3,
|
||||
0,1,4,9,0,3,0,94,1,130,0,3,0,1,4,9,
|
||||
0,4,0,42,1,226,0,3,0,1,4,9,0,5,0,14,
|
||||
2,14,0,3,0,1,4,9,0,6,0,38,2,30,67,114,
|
||||
101,97,116,101,100,32,98,121,32,65,108,108,101,110,32,66,
|
||||
97,114,110,101,116,116,32,119,105,116,104,32,80,102,97,69,
|
||||
100,105,116,32,49,46,48,32,40,104,116,116,112,58,47,47,
|
||||
112,102,97,101,100,105,116,46,115,102,46,110,101,116,41,0,
|
||||
68,101,109,111,51,32,85,110,105,99,111,100,101,32,69,120,
|
||||
97,109,112,108,101,0,82,101,103,117,108,97,114,0,80,102,
|
||||
97,69,100,105,116,32,49,46,48,32,58,32,68,101,109,111,
|
||||
51,32,85,110,105,99,111,100,101,32,69,120,97,109,112,108,
|
||||
101,32,58,32,50,53,45,50,45,50,48,55,50,0,68,101,
|
||||
109,111,51,32,85,110,105,99,111,100,101,32,69,120,97,109,
|
||||
112,108,101,0,48,48,49,46,48,48,48,0,68,101,109,111,
|
||||
51,85,110,105,99,111,100,101,69,120,97,109,112,108,101,0,
|
||||
0,67,0,114,0,101,0,97,0,116,0,101,0,100,0,32,
|
||||
0,98,0,121,0,32,0,65,0,108,0,108,0,101,0,110,
|
||||
0,32,0,66,0,97,0,114,0,110,0,101,0,116,0,116,
|
||||
0,32,0,119,0,105,0,116,0,104,0,32,0,80,0,102,
|
||||
0,97,0,69,0,100,0,105,0,116,0,32,0,49,0,46,
|
||||
0,48,0,32,0,40,0,104,0,116,0,116,0,112,0,58,
|
||||
0,47,0,47,0,112,0,102,0,97,0,101,0,100,0,105,
|
||||
0,116,0,46,0,115,0,102,0,46,0,110,0,101,0,116,
|
||||
0,41,0,0,0,68,0,101,0,109,0,111,0,51,0,32,
|
||||
0,85,0,110,0,105,0,99,0,111,0,100,0,101,0,32,
|
||||
0,69,0,120,0,97,0,109,0,112,0,108,0,101,0,0,
|
||||
0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,0,
|
||||
0,80,0,102,0,97,0,69,0,100,0,105,0,116,0,32,
|
||||
0,49,0,46,0,48,0,32,0,58,0,32,0,68,0,101,
|
||||
0,109,0,111,0,51,0,32,0,85,0,110,0,105,0,99,
|
||||
0,111,0,100,0,101,0,32,0,69,0,120,0,97,0,109,
|
||||
0,112,0,108,0,101,0,32,0,58,0,32,0,50,0,53,
|
||||
0,45,0,50,0,45,0,50,0,48,0,55,0,50,0,0,
|
||||
0,68,0,101,0,109,0,111,0,51,0,32,0,85,0,110,
|
||||
0,105,0,99,0,111,0,100,0,101,0,32,0,69,0,120,
|
||||
0,97,0,109,0,112,0,108,0,101,0,0,0,48,0,48,
|
||||
0,49,0,46,0,48,0,48,0,48,0,0,0,68,0,101,
|
||||
0,109,0,111,0,51,0,85,0,110,0,105,0,99,0,111,
|
||||
0,100,0,101,0,69,0,120,0,97,0,109,0,112,0,108,
|
||||
0,101,0,0,0,2,0,0,0,0,0,0,255,156,0,50,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,10,0,0,0,1,0,2,1,2,1,3,
|
||||
1,4,1,5,1,6,1,7,0,156,7,117,110,105,48,51,
|
||||
65,57,5,115,105,103,109,97,3,112,115,105,10,97,114,114,
|
||||
111,119,114,105,103,104,116,8,103,114,97,100,105,101,110,116,
|
||||
7,117,110,105,50,50,49,57,
|
||||
};
|
||||
const int Demo3UnicodeExample_ttf_size = sizeof( Demo3UnicodeExample_ttf );
|
||||
@@ -0,0 +1,949 @@
|
||||
SplineFontDB: 1.0
|
||||
FontName: Demo3UnicodeExample
|
||||
FullName: Demo3 Unicode Example
|
||||
FamilyName: Demo3 Unicode Example
|
||||
Weight: Medium
|
||||
Copyright: Created by Allen Barnett with PfaEdit 1.0 (http://pfaedit.sf.net)
|
||||
Version: 001.000
|
||||
ItalicAngle: 0
|
||||
UnderlinePosition: -100
|
||||
UnderlineWidth: 50
|
||||
Ascent: 800
|
||||
Descent: 200
|
||||
FSType: 12
|
||||
PfmFamily: 17
|
||||
TTFWeight: 400
|
||||
TTFWidth: 5
|
||||
Panose: 2 0 5 3 0 0 0 0 0 0
|
||||
Encoding: 26
|
||||
DisplaySize: -24
|
||||
AntiAlias: 1
|
||||
BeginChars: 65536 263
|
||||
StartChar: space
|
||||
Encoding: 32 32
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: exclam
|
||||
Encoding: 33 33
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: quotedbl
|
||||
Encoding: 34 34
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: numbersign
|
||||
Encoding: 35 35
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: dollar
|
||||
Encoding: 36 36
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: percent
|
||||
Encoding: 37 37
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ampersand
|
||||
Encoding: 38 38
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: quotesingle
|
||||
Encoding: 39 39
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: parenleft
|
||||
Encoding: 40 40
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: parenright
|
||||
Encoding: 41 41
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: asterisk
|
||||
Encoding: 42 42
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: plus
|
||||
Encoding: 43 43
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: comma
|
||||
Encoding: 44 44
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: hyphen
|
||||
Encoding: 45 45
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: period
|
||||
Encoding: 46 46
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: slash
|
||||
Encoding: 47 47
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: zero
|
||||
Encoding: 48 48
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: one
|
||||
Encoding: 49 49
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: two
|
||||
Encoding: 50 50
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: three
|
||||
Encoding: 51 51
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: four
|
||||
Encoding: 52 52
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: five
|
||||
Encoding: 53 53
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: six
|
||||
Encoding: 54 54
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: seven
|
||||
Encoding: 55 55
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: eight
|
||||
Encoding: 56 56
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: nine
|
||||
Encoding: 57 57
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: colon
|
||||
Encoding: 58 58
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: semicolon
|
||||
Encoding: 59 59
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: less
|
||||
Encoding: 60 60
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: equal
|
||||
Encoding: 61 61
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: greater
|
||||
Encoding: 62 62
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: question
|
||||
Encoding: 63 63
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: at
|
||||
Encoding: 64 64
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: A
|
||||
Encoding: 65 65
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: B
|
||||
Encoding: 66 66
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: C
|
||||
Encoding: 67 67
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: D
|
||||
Encoding: 68 68
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: E
|
||||
Encoding: 69 69
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: F
|
||||
Encoding: 70 70
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: G
|
||||
Encoding: 71 71
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: H
|
||||
Encoding: 72 72
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: I
|
||||
Encoding: 73 73
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: J
|
||||
Encoding: 74 74
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: K
|
||||
Encoding: 75 75
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: L
|
||||
Encoding: 76 76
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: M
|
||||
Encoding: 77 77
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: N
|
||||
Encoding: 78 78
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: O
|
||||
Encoding: 79 79
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: P
|
||||
Encoding: 80 80
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Q
|
||||
Encoding: 81 81
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: R
|
||||
Encoding: 82 82
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: S
|
||||
Encoding: 83 83
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: T
|
||||
Encoding: 84 84
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: U
|
||||
Encoding: 85 85
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: V
|
||||
Encoding: 86 86
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: W
|
||||
Encoding: 87 87
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: X
|
||||
Encoding: 88 88
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Y
|
||||
Encoding: 89 89
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Z
|
||||
Encoding: 90 90
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: bracketleft
|
||||
Encoding: 91 91
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: backslash
|
||||
Encoding: 92 92
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: bracketright
|
||||
Encoding: 93 93
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: asciicircum
|
||||
Encoding: 94 94
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: underscore
|
||||
Encoding: 95 95
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: grave
|
||||
Encoding: 96 96
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: a
|
||||
Encoding: 97 97
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: b
|
||||
Encoding: 98 98
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: c
|
||||
Encoding: 99 99
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: d
|
||||
Encoding: 100 100
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: e
|
||||
Encoding: 101 101
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: f
|
||||
Encoding: 102 102
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: g
|
||||
Encoding: 103 103
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: h
|
||||
Encoding: 104 104
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: i
|
||||
Encoding: 105 105
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: j
|
||||
Encoding: 106 106
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: k
|
||||
Encoding: 107 107
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: l
|
||||
Encoding: 108 108
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: m
|
||||
Encoding: 109 109
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: n
|
||||
Encoding: 110 110
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: o
|
||||
Encoding: 111 111
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: p
|
||||
Encoding: 112 112
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: q
|
||||
Encoding: 113 113
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: r
|
||||
Encoding: 114 114
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: s
|
||||
Encoding: 115 115
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: t
|
||||
Encoding: 116 116
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: u
|
||||
Encoding: 117 117
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: v
|
||||
Encoding: 118 118
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: w
|
||||
Encoding: 119 119
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: x
|
||||
Encoding: 120 120
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: y
|
||||
Encoding: 121 121
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: z
|
||||
Encoding: 122 122
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: braceleft
|
||||
Encoding: 123 123
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: bar
|
||||
Encoding: 124 124
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: braceright
|
||||
Encoding: 125 125
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: asciitilde
|
||||
Encoding: 126 126
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: nonbreakingspace
|
||||
Encoding: 160 160
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: exclamdown
|
||||
Encoding: 161 161
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: cent
|
||||
Encoding: 162 162
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: sterling
|
||||
Encoding: 163 163
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: currency
|
||||
Encoding: 164 164
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: yen
|
||||
Encoding: 165 165
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: brokenbar
|
||||
Encoding: 166 166
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: section
|
||||
Encoding: 167 167
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: dieresis
|
||||
Encoding: 168 168
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: copyright
|
||||
Encoding: 169 169
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ordfeminine
|
||||
Encoding: 170 170
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: guillemotleft
|
||||
Encoding: 171 171
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: logicalnot
|
||||
Encoding: 172 172
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: softhyphen
|
||||
Encoding: 173 173
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: registered
|
||||
Encoding: 174 174
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: macron
|
||||
Encoding: 175 175
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: degree
|
||||
Encoding: 176 176
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: plusminus
|
||||
Encoding: 177 177
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: twosuperior
|
||||
Encoding: 178 178
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: threesuperior
|
||||
Encoding: 179 179
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: acute
|
||||
Encoding: 180 180
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: mu
|
||||
Encoding: 181 181
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: paragraph
|
||||
Encoding: 182 182
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: periodcentered
|
||||
Encoding: 183 183
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: cedilla
|
||||
Encoding: 184 184
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: onesuperior
|
||||
Encoding: 185 185
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ordmasculine
|
||||
Encoding: 186 186
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: guillemotright
|
||||
Encoding: 187 187
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: onequarter
|
||||
Encoding: 188 188
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: onehalf
|
||||
Encoding: 189 189
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: threequarters
|
||||
Encoding: 190 190
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: questiondown
|
||||
Encoding: 191 191
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Agrave
|
||||
Encoding: 192 192
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Aacute
|
||||
Encoding: 193 193
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Acircumflex
|
||||
Encoding: 194 194
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Atilde
|
||||
Encoding: 195 195
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Adieresis
|
||||
Encoding: 196 196
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Aring
|
||||
Encoding: 197 197
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: AE
|
||||
Encoding: 198 198
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ccedilla
|
||||
Encoding: 199 199
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Egrave
|
||||
Encoding: 200 200
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Eacute
|
||||
Encoding: 201 201
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ecircumflex
|
||||
Encoding: 202 202
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Edieresis
|
||||
Encoding: 203 203
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Igrave
|
||||
Encoding: 204 204
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Iacute
|
||||
Encoding: 205 205
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Icircumflex
|
||||
Encoding: 206 206
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Idieresis
|
||||
Encoding: 207 207
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Eth
|
||||
Encoding: 208 208
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ntilde
|
||||
Encoding: 209 209
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ograve
|
||||
Encoding: 210 210
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Oacute
|
||||
Encoding: 211 211
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ocircumflex
|
||||
Encoding: 212 212
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Otilde
|
||||
Encoding: 213 213
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Odieresis
|
||||
Encoding: 214 214
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: multiply
|
||||
Encoding: 215 215
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Oslash
|
||||
Encoding: 216 216
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ugrave
|
||||
Encoding: 217 217
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Uacute
|
||||
Encoding: 218 218
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Ucircumflex
|
||||
Encoding: 219 219
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Udieresis
|
||||
Encoding: 220 220
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Yacute
|
||||
Encoding: 221 221
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: Thorn
|
||||
Encoding: 222 222
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: germandbls
|
||||
Encoding: 223 223
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: agrave
|
||||
Encoding: 224 224
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: aacute
|
||||
Encoding: 225 225
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: acircumflex
|
||||
Encoding: 226 226
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: atilde
|
||||
Encoding: 227 227
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: adieresis
|
||||
Encoding: 228 228
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: aring
|
||||
Encoding: 229 229
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ae
|
||||
Encoding: 230 230
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ccedilla
|
||||
Encoding: 231 231
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: egrave
|
||||
Encoding: 232 232
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: eacute
|
||||
Encoding: 233 233
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ecircumflex
|
||||
Encoding: 234 234
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: edieresis
|
||||
Encoding: 235 235
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: igrave
|
||||
Encoding: 236 236
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: iacute
|
||||
Encoding: 237 237
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: icircumflex
|
||||
Encoding: 238 238
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: idieresis
|
||||
Encoding: 239 239
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: eth
|
||||
Encoding: 240 240
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ntilde
|
||||
Encoding: 241 241
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ograve
|
||||
Encoding: 242 242
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: oacute
|
||||
Encoding: 243 243
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ocircumflex
|
||||
Encoding: 244 244
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: otilde
|
||||
Encoding: 245 245
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: odieresis
|
||||
Encoding: 246 246
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: divide
|
||||
Encoding: 247 247
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: oslash
|
||||
Encoding: 248 248
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ugrave
|
||||
Encoding: 249 249
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: uacute
|
||||
Encoding: 250 250
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ucircumflex
|
||||
Encoding: 251 251
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: udieresis
|
||||
Encoding: 252 252
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: yacute
|
||||
Encoding: 253 253
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: thorn
|
||||
Encoding: 254 254
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: ydieresis
|
||||
Encoding: 255 255
|
||||
Width: 1000
|
||||
EndChar
|
||||
StartChar: uni03A9
|
||||
Encoding: 937 937
|
||||
Width: 760
|
||||
Flags: W
|
||||
HStem: 0 86.5<55 192 560 711> 662.5 82.6191<368 400>
|
||||
VStem: 48.5 285.5<1 81> 56.5 100.5<368 416> 432.5 285<1 81> 610.5 99<368 416>
|
||||
Fore
|
||||
48.5 86.5 m 1
|
||||
208.5 86.5 l 1
|
||||
107.167 171.167 56.5 274.5 56.5 396.5 c 1
|
||||
56.7101 536.75 118.58 644.249 209.5 699.75 c 1
|
||||
297.509 759.342 465.523 760.85 554.25 703.5 c 1
|
||||
642.338 648.475 711.166 540.692 709.5 396.5 c 1
|
||||
709.5 274.5 658.833 171.167 557.5 86.5 c 1
|
||||
717.5 86.5 l 1
|
||||
717.5 0 l 1
|
||||
432.5 0 l 1
|
||||
432.5 81 l 1
|
||||
551.167 136.333 610.5 236.5 610.5 381.5 c 1
|
||||
613.683 531.395 525.526 663.23 384.5 662.5 c 1
|
||||
242.961 665.005 154.417 531.689 157 386.5 c 1
|
||||
157 239.5 216 137.667 334 81 c 1
|
||||
334 0 l 1
|
||||
48.5 0 l 1
|
||||
48.5 86.5 l 1
|
||||
EndSplineSet
|
||||
MinimumDistance: x5,-1
|
||||
EndChar
|
||||
StartChar: sigma
|
||||
Encoding: 963 963
|
||||
Width: 654
|
||||
Flags: W
|
||||
HStem: -11.9998 73.9998<282 299.31> 458 73<466 594> 468.5 74.5483<280.625 302.587>
|
||||
VStem: 34 92.5<243 265 265.575 298.829> 440 91.5<243 291>
|
||||
Fore
|
||||
609.5 531 m 1
|
||||
609.5 458 l 1
|
||||
465 458 l 1
|
||||
509.333 416.667 531.5 352.333 531.5 265 c 0
|
||||
531.5 170 507.25 100.083 458.75 55.25 c 1
|
||||
367.585 -35.1072 191 -34.6289 104 58 c 1
|
||||
57.333 104.667 34 173.833 34 265.5 c 0
|
||||
34 359.833 58.25 429.667 106.75 475 c 1
|
||||
176.138 537.884 259.745 558.789 367 531 c 1
|
||||
609.5 531 l 1
|
||||
280.5 468.5 m 1
|
||||
180.415 465.592 122.839 382.568 126.5 265 c 1
|
||||
124.033 145.734 177.982 64.8142 282 62 c 1
|
||||
387.637 63.1845 442.118 149.124 440 265.5 c 1
|
||||
439.941 377.605 391.876 470.041 280.5 468.5 c 1
|
||||
EndSplineSet
|
||||
MinimumDistance: x3,-1
|
||||
EndChar
|
||||
StartChar: psi
|
||||
Encoding: 968 968
|
||||
Width: 748
|
||||
Flags: W
|
||||
HStem: -203.5 734.5<320 410>
|
||||
VStem: 61 89.5<244 530> 320 90<-188 -12 65 530> 579 89.5<244 530>
|
||||
Fore
|
||||
61 531 m 1
|
||||
150.5 531 l 1
|
||||
150.5 269 l 1
|
||||
151.992 173.54 157.865 130.981 213.25 92.75 c 1
|
||||
239.083 75.583 274.667 65.833 320 63.5 c 1
|
||||
320 531 l 1
|
||||
410 531 l 1
|
||||
410 63.5 l 1
|
||||
489.519 66.7047 544.824 98.0574 565.75 154.25 c 1
|
||||
574.583 179.75 579 218 579 269 c 2
|
||||
579 531 l 1
|
||||
668.5 531 l 1
|
||||
668.5 272 l 1
|
||||
666.618 133.548 653.5 84.7044 571.5 29.25 c 1
|
||||
532.5 4.08301 478.667 -9.66699 410 -12 c 1
|
||||
410 -203.5 l 1
|
||||
320 -203.5 l 1
|
||||
320 -12 l 1
|
||||
229.595 -8.79161 164.247 11.9517 118.75 61.25 c 1
|
||||
67.0712 119.571 62.4383 155.542 61 272 c 1
|
||||
61 531 l 1
|
||||
EndSplineSet
|
||||
MinimumDistance: x11,-1
|
||||
EndChar
|
||||
StartChar: arrowright
|
||||
Encoding: 8594 8594
|
||||
Width: 1035
|
||||
Flags: W
|
||||
HStem: 233 50.5<55 836>
|
||||
VStem: 39.5 944.5<249 271>
|
||||
Fore
|
||||
777.5 438 m 1
|
||||
848.958 360.788 901.645 310.333 984 271.5 c 1
|
||||
984 249 l 1
|
||||
897.46 204.953 850.008 159.158 777 78.5 c 1
|
||||
738.5 78.5 l 1
|
||||
769.833 145.5 802.667 197 837 233 c 1
|
||||
39.5 233 l 1
|
||||
39.5 283.5 l 1
|
||||
837 283.5 l 1
|
||||
782.642 353.947 781.915 354.515 739.5 438 c 1
|
||||
777.5 438 l 1
|
||||
EndSplineSet
|
||||
MinimumDistance: x1,-1
|
||||
EndChar
|
||||
StartChar: gradient
|
||||
Encoding: 8711 8711
|
||||
Width: 648
|
||||
Flags: W
|
||||
HStem: 652.5 41<134 551>
|
||||
DStem: 14.5 693.5 132.5 652.5 300.5 0 332 169 552 652.5 614.5 693.5 332 169 300.5 0
|
||||
Fore
|
||||
14.5 693.5 m 1
|
||||
614.5 693.5 l 1
|
||||
300.5 0 l 1
|
||||
14.5 693.5 l 1
|
||||
132.5 652.5 m 1
|
||||
332 169 l 1
|
||||
552 652.5 l 1
|
||||
132.5 652.5 l 1
|
||||
EndSplineSet
|
||||
MinimumDistance: x1,-1
|
||||
EndChar
|
||||
StartChar: uni2219
|
||||
Encoding: 8729 8729
|
||||
Width: 294
|
||||
Flags: W
|
||||
HStem: 309.5 102.5<108 194>
|
||||
VStem: 92.5 102.5<325 411>
|
||||
Fore
|
||||
92.5 309.5 m 1
|
||||
92.5 412 l 1
|
||||
195 412 l 1
|
||||
195 309.5 l 1
|
||||
92.5 309.5 l 1
|
||||
EndSplineSet
|
||||
MinimumDistance: x2,-1
|
||||
EndChar
|
||||
StartChar: integral
|
||||
Encoding: 8747 8747
|
||||
Width: 291
|
||||
Flags: W
|
||||
VStem: 100.5 77.8252<327.709 474>
|
||||
Fore
|
||||
100.5 474 m 1
|
||||
109 739.5 l 1
|
||||
114.542 833.138 134.534 923.622 217.5 931.5 c 1
|
||||
247.522 933.096 280.447 905.565 280 878 c 1
|
||||
280.849 848.918 261.127 825.941 234 826 c 1
|
||||
222.333 826 209.667 832 196 844 c 1
|
||||
176.357 863.99 153.522 851.038 156 822 c 1
|
||||
156 808 157.5 783.833 160.5 749.5 c 1
|
||||
184.169 438.285 182.123 484.679 171 123 c 1
|
||||
168.333 24.667 153.333 -41.833 126 -76.5 c 1
|
||||
101.122 -110.714 47.8807 -123.362 16.5 -93 c 1
|
||||
-3.17021 -74.8996 -6.32757 -33.0899 12.75 -13.5 c 1
|
||||
30.257 5.46361 62.8625 4.28698 79.5 -16 c 1
|
||||
93.653 -31.3569 104.804 -38.4598 118 -25 c 1
|
||||
129.244 -4.11259 121.392 22.5244 119 58.5 c 1
|
||||
106.667 163.5 100.5 302 100.5 474 c 1
|
||||
EndSplineSet
|
||||
EndChar
|
||||
EndChars
|
||||
EndSplineFont
|
||||
@@ -0,0 +1,470 @@
|
||||
/*
|
||||
* Demo3UnicodeExample2.h: Additional symbols for demo3 example.
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
FT_Byte lCSymbols_ttf[] = {
|
||||
0,1,0,0,0,12,0,128,0,3,0,64,79,83,47,50,
|
||||
81,97,77,142,0,0,0,204,0,0,0,86,99,109,97,112,
|
||||
224,46,4,241,0,0,1,36,0,0,1,82,99,118,116,32,
|
||||
4,48,5,221,0,0,2,120,0,0,0,34,103,108,121,102,
|
||||
109,46,45,11,0,0,2,156,0,0,18,254,104,101,97,100,
|
||||
211,187,118,221,0,0,21,156,0,0,0,54,104,104,101,97,
|
||||
6,115,1,120,0,0,21,212,0,0,0,36,104,109,116,120,
|
||||
28,67,1,223,0,0,21,248,0,0,0,100,107,101,114,110,
|
||||
251,84,252,187,0,0,22,92,0,0,0,162,108,111,99,97,
|
||||
51,201,56,104,0,0,23,0,0,0,0,52,109,97,120,112,
|
||||
0,94,1,24,0,0,23,52,0,0,0,32,110,97,109,101,
|
||||
31,28,131,163,0,0,23,84,0,0,3,167,112,111,115,116,
|
||||
142,120,183,88,0,0,26,252,0,0,1,4,0,1,3,232,
|
||||
1,144,0,5,0,12,0,200,0,200,0,0,0,200,0,200,
|
||||
0,200,0,0,0,200,0,49,1,2,0,0,2,0,5,3,
|
||||
0,0,0,0,0,0,0,0,0,3,16,0,0,8,0,0,
|
||||
0,0,0,0,0,0,80,102,69,100,0,64,0,32,224,25,
|
||||
2,234,255,52,0,90,2,234,0,204,0,0,0,1,0,0,
|
||||
0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,28,
|
||||
0,1,0,0,0,0,0,76,0,3,0,1,0,0,0,28,
|
||||
0,4,0,48,0,0,0,8,0,8,0,2,0,0,33,4,
|
||||
224,10,224,25,255,255,0,0,33,4,224,0,224,16,255,255,
|
||||
222,255,32,4,31,255,0,1,0,0,0,0,0,0,0,0,
|
||||
0,0,1,6,0,0,1,0,0,0,0,0,0,0,1,3,
|
||||
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,33,2,121,0,86,0,83,
|
||||
0,100,0,97,1,202,0,37,0,46,1,112,0,43,0,242,
|
||||
0,48,0,41,0,237,0,0,0,21,0,0,0,2,0,33,
|
||||
0,0,1,110,2,154,0,3,0,7,0,46,177,1,0,47,
|
||||
60,178,7,4,0,237,50,177,6,5,220,60,178,3,2,0,
|
||||
237,50,0,177,3,0,47,60,178,5,4,0,237,50,178,7,
|
||||
6,1,252,60,178,1,2,0,237,50,51,17,33,17,37,33,
|
||||
17,33,33,1,77,254,212,1,11,254,245,2,154,253,102,33,
|
||||
2,88,0,1,0,7,255,52,2,246,2,234,0,47,0,110,
|
||||
0,176,11,47,176,12,51,177,9,2,237,177,10,2,237,176,
|
||||
32,47,176,33,51,176,34,51,177,24,3,237,177,25,3,237,
|
||||
177,26,3,237,1,176,17,47,176,18,51,176,19,51,176,20,
|
||||
51,177,39,4,237,177,40,4,237,177,41,4,237,177,42,4,
|
||||
237,176,12,47,176,13,51,176,45,51,176,46,51,177,0,5,
|
||||
237,177,7,5,237,177,8,5,237,177,9,5,237,177,47,5,
|
||||
237,176,12,16,177,10,6,237,177,11,6,237,48,49,37,54,
|
||||
55,23,6,7,6,15,1,21,33,21,33,53,38,47,1,38,
|
||||
61,1,52,55,54,55,54,51,50,23,22,23,7,38,47,1,
|
||||
34,7,6,15,1,6,29,1,20,23,22,23,17,51,1,141,
|
||||
130,31,97,46,161,24,26,1,1,105,254,54,183,70,1,39,
|
||||
122,22,25,80,97,176,81,20,13,96,45,128,23,135,63,12,
|
||||
8,3,23,112,39,42,97,76,31,150,24,185,47,7,3,1,
|
||||
108,86,194,19,166,1,91,104,1,198,100,18,14,44,136,35,
|
||||
43,22,141,11,1,100,19,22,8,68,72,1,201,67,23,7,
|
||||
1,198,0,2,0,21,1,97,1,5,2,216,0,12,0,30,
|
||||
0,109,0,176,7,47,176,8,51,176,9,51,177,10,7,237,
|
||||
177,17,7,237,177,18,7,237,177,19,7,237,176,26,176,10,
|
||||
16,222,176,27,50,176,28,50,177,1,7,237,177,2,7,237,
|
||||
177,3,7,237,1,176,0,47,176,1,51,176,11,51,176,12,
|
||||
51,177,13,8,237,177,14,8,237,177,30,8,237,176,21,176,
|
||||
13,16,222,176,22,50,176,23,50,176,24,50,177,5,8,237,
|
||||
177,6,8,237,177,7,8,237,177,32,6,16,204,48,49,19,
|
||||
52,51,50,23,22,21,20,35,34,39,38,53,55,20,23,51,
|
||||
22,51,50,55,54,61,1,52,39,38,35,34,7,6,21,120,
|
||||
85,26,8,119,53,30,37,47,20,1,21,31,31,21,21,21,
|
||||
21,32,31,18,23,2,29,187,101,32,54,187,38,45,102,2,
|
||||
90,30,30,30,30,88,2,90,30,30,27,33,0,1,0,55,
|
||||
1,104,0,191,2,216,0,13,0,41,0,176,0,47,176,1,
|
||||
51,177,11,9,237,177,12,9,237,177,13,9,237,1,176,1,
|
||||
47,176,2,51,177,0,8,237,177,13,8,237,177,15,0,16,
|
||||
204,48,49,19,35,17,6,7,6,7,53,54,55,54,63,1,
|
||||
51,191,45,17,26,26,21,37,29,27,12,1,29,1,104,1,
|
||||
31,16,15,16,8,44,18,25,25,23,1,0,0,1,0,15,
|
||||
1,104,1,2,2,216,0,37,0,96,0,176,1,47,176,2,
|
||||
51,177,0,10,237,177,37,10,237,176,15,176,0,16,222,176,
|
||||
16,50,176,17,50,177,23,7,237,177,24,7,237,177,25,7,
|
||||
237,1,176,2,47,176,3,51,177,0,11,237,177,1,11,237,
|
||||
177,28,11,237,177,29,11,237,177,30,11,237,176,29,16,177,
|
||||
10,8,237,177,11,8,237,177,12,8,237,177,13,8,237,177,
|
||||
25,8,237,177,39,0,16,204,48,49,1,21,35,38,55,53,
|
||||
54,55,54,55,54,61,1,52,39,38,35,34,7,21,7,39,
|
||||
54,63,1,50,23,22,31,1,20,15,1,6,7,6,15,1,
|
||||
1,2,242,2,36,21,38,60,21,21,41,13,15,56,13,3,
|
||||
46,8,82,29,70,31,10,2,1,38,1,21,48,52,13,6,
|
||||
1,147,43,37,42,1,24,32,49,28,28,25,1,43,16,5,
|
||||
50,1,23,5,89,15,2,50,17,20,15,44,43,1,23,41,
|
||||
44,17,10,0,0,1,0,21,1,97,1,6,2,216,0,52,
|
||||
0,133,0,176,48,47,176,49,51,176,50,51,177,2,7,237,
|
||||
177,3,7,237,177,4,7,237,176,13,176,2,16,222,176,14,
|
||||
50,176,15,50,177,17,0,237,177,18,0,237,177,19,0,237,
|
||||
176,26,176,17,16,222,176,27,50,176,28,50,177,33,7,237,
|
||||
177,34,7,237,177,35,7,237,1,176,21,47,176,22,51,176,
|
||||
23,51,176,24,51,176,35,51,177,38,8,237,177,39,8,237,
|
||||
177,40,8,237,177,41,8,237,176,8,47,176,9,51,176,10,
|
||||
51,176,11,51,177,44,12,237,177,45,12,237,177,46,12,237,
|
||||
177,54,45,16,204,48,49,19,55,22,51,50,55,61,1,54,
|
||||
61,1,52,39,38,35,34,7,55,23,50,55,54,61,1,52,
|
||||
39,38,35,34,7,39,54,55,54,51,50,23,49,22,21,23,
|
||||
20,7,22,31,1,20,7,6,35,34,39,38,22,44,15,57,
|
||||
47,21,8,40,15,17,13,19,5,7,55,16,4,34,12,14,
|
||||
56,10,45,13,63,16,18,59,31,17,1,51,59,8,2,57,
|
||||
30,37,71,32,11,1,201,6,72,41,1,1,15,17,1,47,
|
||||
18,6,4,39,1,38,11,12,1,38,14,5,66,8,73,17,
|
||||
5,42,23,29,1,51,24,13,60,17,65,32,17,57,20,0,
|
||||
0,2,0,6,1,104,1,4,2,215,0,10,0,13,0,114,
|
||||
0,176,1,47,176,2,51,176,8,51,176,9,51,177,3,13,
|
||||
237,177,6,13,237,177,7,13,237,177,11,13,237,177,13,13,
|
||||
237,177,4,6,16,204,177,5,6,16,204,177,10,1,16,204,
|
||||
177,0,1,16,204,1,176,0,47,176,1,51,176,11,51,176,
|
||||
12,51,177,5,8,237,177,6,8,237,177,9,8,237,177,10,
|
||||
8,237,177,4,6,16,204,177,8,6,16,204,177,7,6,16,
|
||||
204,177,3,1,16,204,177,2,1,16,204,177,15,7,16,204,
|
||||
48,49,19,53,35,53,55,51,21,51,21,35,21,39,53,7,
|
||||
166,160,168,36,50,50,44,115,1,104,88,41,237,237,41,88,
|
||||
129,165,165,0,0,1,0,21,1,97,1,9,2,210,0,36,
|
||||
0,102,0,176,32,47,176,33,51,176,34,51,177,3,7,237,
|
||||
177,4,7,237,177,5,7,237,176,12,176,3,16,222,176,13,
|
||||
50,176,14,50,177,22,13,237,177,23,13,237,177,24,13,237,
|
||||
176,19,176,22,16,222,176,20,50,177,17,10,237,177,18,10,
|
||||
237,1,176,7,47,176,8,51,176,9,51,176,10,51,176,24,
|
||||
51,177,27,12,237,177,28,12,237,177,29,12,237,177,30,12,
|
||||
237,177,38,29,16,204,48,49,19,55,22,31,1,50,55,54,
|
||||
61,1,52,39,38,35,34,7,39,55,51,21,35,7,54,51,
|
||||
50,23,21,22,29,1,20,7,6,35,34,39,38,21,47,9,
|
||||
47,15,51,19,7,46,15,17,44,22,43,36,182,146,20,33,
|
||||
36,66,32,16,57,30,38,76,30,9,1,200,4,58,10,1,
|
||||
49,18,21,1,59,19,5,35,5,189,44,98,23,55,1,27,
|
||||
35,1,75,36,19,60,19,0,0,2,0,19,1,97,1,6,
|
||||
2,216,0,29,0,47,0,136,0,176,17,47,176,18,51,176,
|
||||
19,51,177,33,7,237,177,34,7,237,177,35,7,237,176,42,
|
||||
176,33,16,222,176,43,50,176,44,50,176,45,50,177,8,13,
|
||||
237,177,9,13,237,177,10,13,237,176,2,176,8,16,222,176,
|
||||
3,50,176,4,50,177,25,7,237,177,26,7,237,177,27,7,
|
||||
237,177,28,7,237,1,176,21,47,176,22,51,176,23,51,176,
|
||||
24,51,177,6,10,237,177,7,10,237,176,10,47,176,37,51,
|
||||
176,38,51,176,39,51,176,40,51,177,12,8,237,177,13,8,
|
||||
237,177,14,8,237,177,15,8,237,177,49,14,16,204,48,49,
|
||||
1,7,38,35,34,7,6,21,54,51,50,23,22,29,1,20,
|
||||
7,6,35,34,39,38,39,53,52,55,54,51,50,23,7,20,
|
||||
23,22,51,50,55,54,61,1,52,39,38,39,35,34,7,6,
|
||||
0,255,45,13,49,48,23,13,32,57,64,30,14,52,27,36,
|
||||
56,35,35,1,117,7,8,73,24,177,36,18,21,46,17,6,
|
||||
41,11,14,5,47,19,7,2,125,4,58,57,30,55,49,57,
|
||||
28,33,1,73,34,18,41,41,94,2,184,11,1,63,186,52,
|
||||
25,11,49,16,19,1,56,19,6,1,44,16,0,1,0,24,
|
||||
1,104,1,6,2,210,0,16,0,43,0,176,0,47,176,16,
|
||||
51,177,1,10,237,177,2,10,237,176,9,47,176,10,47,1,
|
||||
176,0,47,176,1,51,177,2,14,237,177,3,14,237,177,18,
|
||||
2,16,204,48,49,19,53,51,21,6,7,6,7,6,7,35,
|
||||
54,55,52,55,54,55,24,238,71,42,6,4,14,3,46,5,
|
||||
86,1,17,19,2,166,44,35,75,120,16,15,46,55,140,129,
|
||||
2,1,25,21,0,3,0,20,1,97,1,7,2,216,0,32,
|
||||
0,51,0,69,0,207,0,176,24,47,176,25,51,176,26,51,
|
||||
177,55,7,237,177,56,7,237,177,57,7,237,176,17,176,55,
|
||||
16,222,176,31,50,176,64,50,176,65,50,176,66,50,177,36,
|
||||
7,237,177,37,7,237,177,38,7,237,176,3,176,36,16,222,
|
||||
176,45,50,176,46,50,176,47,50,177,5,7,237,177,6,7,
|
||||
237,177,7,7,237,1,176,28,47,176,29,51,176,30,51,176,
|
||||
31,51,177,52,8,237,177,53,8,237,177,68,8,237,177,69,
|
||||
8,237,176,1,47,176,2,51,176,3,51,176,27,51,177,33,
|
||||
8,237,177,34,8,237,177,50,8,237,177,51,8,237,176,40,
|
||||
47,176,41,51,176,42,51,176,43,51,177,12,8,237,177,13,
|
||||
8,237,177,14,8,237,177,15,8,237,176,59,47,176,60,51,
|
||||
176,61,51,176,62,51,177,17,8,237,177,18,8,237,177,19,
|
||||
8,237,177,20,8,237,177,21,8,237,177,22,8,237,177,71,
|
||||
21,16,204,48,49,19,38,53,52,55,54,51,50,31,1,21,
|
||||
23,22,29,1,20,7,22,23,20,29,1,20,7,6,35,34,
|
||||
39,38,61,1,52,55,39,20,23,22,51,50,55,54,61,1,
|
||||
52,39,38,35,34,15,1,6,21,7,20,23,22,51,50,55,
|
||||
54,61,1,52,39,38,35,34,7,6,21,90,54,54,23,28,
|
||||
63,29,1,1,12,54,67,2,58,28,34,72,33,16,67,6,
|
||||
37,11,12,40,14,5,35,12,13,38,16,1,4,15,40,16,
|
||||
19,48,19,7,41,16,19,47,19,7,2,47,20,55,59,25,
|
||||
10,46,1,1,1,21,25,1,53,20,22,69,1,1,1,67,
|
||||
30,14,52,26,33,1,73,19,77,42,13,4,34,10,11,1,
|
||||
39,15,5,32,1,11,11,170,48,19,8,40,15,17,1,48,
|
||||
20,7,40,15,17,0,0,2,0,21,1,97,1,7,2,216,
|
||||
0,35,0,58,0,133,0,176,32,47,176,33,51,176,34,51,
|
||||
177,2,7,237,177,3,7,237,177,4,7,237,176,11,176,2,
|
||||
16,222,176,12,50,176,13,50,177,7,13,237,177,8,13,237,
|
||||
177,53,13,237,177,54,13,237,177,55,13,237,176,41,176,8,
|
||||
16,222,176,42,50,176,43,50,177,21,7,237,177,22,7,237,
|
||||
177,23,7,237,1,176,16,47,176,17,51,176,18,51,176,19,
|
||||
51,177,13,8,237,177,49,8,237,177,50,8,237,177,51,8,
|
||||
237,176,6,47,176,7,51,176,8,51,176,9,51,177,28,10,
|
||||
237,177,29,10,237,177,30,10,237,48,49,19,55,22,51,50,
|
||||
55,54,53,55,39,6,15,1,34,39,53,38,61,1,52,55,
|
||||
54,51,50,31,1,21,23,22,21,20,7,6,35,34,39,55,
|
||||
52,39,34,49,38,35,34,15,1,21,7,21,6,21,20,23,
|
||||
22,51,50,55,54,53,28,43,11,50,61,19,5,1,1,27,
|
||||
52,8,65,30,14,54,27,34,72,34,1,4,15,60,30,41,
|
||||
76,22,179,37,1,14,18,45,20,1,1,7,39,15,19,52,
|
||||
15,4,1,189,4,58,79,24,28,2,8,43,4,1,58,1,
|
||||
27,33,1,73,34,17,64,1,1,8,36,67,132,43,22,67,
|
||||
185,54,22,9,45,1,1,1,1,18,21,50,21,8,52,14,
|
||||
15,0,0,1,0,0,255,243,1,2,2,234,0,3,0,20,
|
||||
176,0,47,176,1,47,176,2,47,176,3,47,1,177,5,2,
|
||||
47,204,48,49,21,19,51,3,212,46,214,12,2,246,253,10,
|
||||
0,2,0,21,255,249,1,5,1,112,0,12,0,31,0,113,
|
||||
0,176,7,47,176,8,51,176,9,51,177,10,7,237,177,17,
|
||||
7,237,177,18,7,237,177,19,7,237,176,26,176,10,16,222,
|
||||
176,27,50,176,28,50,177,1,7,237,177,2,7,237,177,3,
|
||||
7,237,1,176,0,47,176,1,51,176,11,51,176,12,51,177,
|
||||
13,8,237,177,14,8,237,177,30,8,237,177,31,8,237,176,
|
||||
21,176,13,16,222,176,22,50,176,23,50,176,24,50,177,5,
|
||||
8,237,177,6,8,237,177,7,8,237,177,33,6,16,204,48,
|
||||
49,55,52,51,50,23,22,21,20,35,34,39,38,53,55,20,
|
||||
23,51,22,51,50,55,54,61,1,52,39,38,35,34,7,6,
|
||||
21,21,120,85,26,8,119,53,30,37,47,20,1,21,31,31,
|
||||
21,21,21,21,32,31,18,23,181,187,101,32,54,187,38,45,
|
||||
102,2,90,30,30,30,30,88,2,90,30,30,27,33,89,0,
|
||||
0,1,0,55,0,0,0,191,1,112,0,13,0,42,0,177,
|
||||
0,15,63,176,1,51,177,11,9,237,177,12,9,237,177,13,
|
||||
9,237,1,176,1,47,176,2,51,177,0,8,237,177,13,8,
|
||||
237,177,15,0,16,204,48,49,51,35,17,6,7,6,7,53,
|
||||
54,55,54,63,1,51,191,45,17,26,26,21,37,29,27,12,
|
||||
1,29,1,31,16,15,16,8,44,18,25,25,23,1,0,1,
|
||||
0,15,0,0,1,2,1,112,0,38,0,101,0,177,1,15,
|
||||
63,176,2,51,177,0,10,237,177,38,10,237,176,14,176,0,
|
||||
16,222,176,15,50,176,16,50,177,23,7,237,177,24,7,237,
|
||||
177,25,7,237,1,176,2,47,176,3,51,177,0,11,237,177,
|
||||
1,11,237,177,28,11,237,177,29,11,237,177,30,11,237,177,
|
||||
31,11,237,176,28,16,177,9,8,237,177,10,8,237,177,11,
|
||||
8,237,177,12,8,237,177,25,8,237,177,40,0,16,204,48,
|
||||
49,37,21,35,38,55,54,55,54,55,54,61,1,52,39,38,
|
||||
35,34,7,29,1,7,39,54,63,1,50,23,21,22,29,1,
|
||||
20,15,1,6,7,6,15,1,1,2,242,2,36,21,38,60,
|
||||
21,21,41,13,15,56,13,3,46,8,82,29,70,31,13,38,
|
||||
1,21,48,52,13,6,43,43,38,42,24,32,49,28,28,25,
|
||||
1,43,16,5,50,1,1,22,5,89,15,2,50,1,22,28,
|
||||
1,44,43,1,23,41,44,17,10,0,0,1,0,21,255,249,
|
||||
1,6,1,112,0,51,0,133,0,176,47,47,176,48,51,176,
|
||||
49,51,177,2,7,237,177,3,7,237,177,4,7,237,176,11,
|
||||
176,2,16,222,176,12,50,176,13,50,177,15,0,237,177,16,
|
||||
0,237,177,17,0,237,176,24,176,15,16,222,176,25,50,176,
|
||||
26,50,177,31,7,237,177,32,7,237,177,33,7,237,1,176,
|
||||
19,47,176,20,51,176,21,51,176,22,51,176,33,51,177,37,
|
||||
8,237,177,38,8,237,177,39,8,237,177,40,8,237,176,6,
|
||||
47,176,7,51,176,8,51,176,9,51,177,43,12,237,177,44,
|
||||
12,237,177,45,12,237,177,53,44,16,204,48,49,63,1,22,
|
||||
51,50,55,54,61,1,52,39,38,35,34,7,55,23,50,55,
|
||||
54,61,1,52,39,38,35,34,7,39,54,55,54,51,50,31,
|
||||
1,49,22,21,23,20,7,22,31,1,20,7,6,39,34,39,
|
||||
38,22,44,15,57,47,21,8,40,15,17,13,19,5,7,55,
|
||||
16,4,34,12,14,56,10,45,13,63,16,18,61,30,1,15,
|
||||
1,51,59,8,2,57,30,37,71,32,11,97,6,72,41,16,
|
||||
18,1,47,18,6,4,39,1,38,11,12,1,38,14,5,66,
|
||||
8,73,17,5,43,1,22,28,1,51,24,13,60,17,65,32,
|
||||
18,1,57,20,0,2,0,6,0,0,1,4,1,111,0,10,
|
||||
0,13,0,111,0,177,0,15,63,176,10,51,176,1,222,176,
|
||||
2,50,176,8,50,176,9,50,177,3,13,237,177,6,13,237,
|
||||
177,7,13,237,177,11,13,237,177,13,13,237,177,4,6,16,
|
||||
204,177,5,6,16,204,1,176,0,47,176,1,51,176,11,51,
|
||||
176,12,51,177,5,8,237,177,6,8,237,177,9,8,237,177,
|
||||
10,8,237,177,4,6,16,204,177,8,6,16,204,177,7,6,
|
||||
16,204,177,3,1,16,204,177,2,1,16,204,177,15,7,16,
|
||||
204,48,49,51,53,35,53,55,51,21,51,21,35,21,39,53,
|
||||
7,166,160,168,36,50,50,44,115,88,41,237,237,41,88,129,
|
||||
165,165,0,1,0,21,255,249,1,9,1,106,0,36,0,106,
|
||||
0,176,32,47,176,33,51,176,34,51,177,3,7,237,177,4,
|
||||
7,237,177,5,7,237,177,6,7,237,176,13,176,3,16,222,
|
||||
176,14,50,176,15,50,177,23,13,237,177,24,13,237,177,25,
|
||||
13,237,176,20,176,23,16,222,176,21,50,177,18,10,237,177,
|
||||
19,10,237,1,176,8,47,176,9,51,176,10,51,176,11,51,
|
||||
176,25,51,177,27,12,237,177,28,12,237,177,29,12,237,177,
|
||||
30,12,237,177,38,29,16,204,48,49,63,1,22,23,22,51,
|
||||
50,55,54,61,1,52,39,38,35,34,7,39,55,51,21,35,
|
||||
7,54,51,50,23,22,29,1,20,7,6,35,34,39,38,21,
|
||||
47,9,47,7,8,51,19,7,46,15,17,44,22,43,36,182,
|
||||
146,20,33,36,66,32,16,57,30,38,76,30,9,96,4,58,
|
||||
10,1,49,18,21,1,59,19,5,35,5,189,44,98,23,55,
|
||||
28,35,1,75,36,19,60,19,0,2,0,12,255,249,0,255,
|
||||
1,112,0,31,0,49,0,129,0,176,17,47,176,18,51,176,
|
||||
19,51,177,35,7,237,177,36,7,237,177,37,7,237,176,44,
|
||||
176,35,16,222,176,45,50,176,46,50,177,8,13,237,177,9,
|
||||
13,237,177,10,13,237,176,2,176,8,16,222,176,3,50,176,
|
||||
4,50,177,25,7,237,177,26,7,237,177,27,7,237,1,176,
|
||||
21,47,176,22,51,176,23,51,176,24,51,177,6,10,237,177,
|
||||
7,10,237,176,10,47,176,39,51,176,40,51,176,41,51,176,
|
||||
42,51,177,12,8,237,177,13,8,237,177,14,8,237,177,15,
|
||||
8,237,177,51,14,16,204,48,49,19,7,38,35,34,7,6,
|
||||
21,54,51,50,23,22,29,1,20,7,6,35,34,39,38,39,
|
||||
53,52,63,1,50,23,21,22,23,7,20,23,22,51,50,55,
|
||||
54,61,1,52,39,38,35,34,7,6,21,248,45,13,49,48,
|
||||
23,13,32,57,64,30,14,52,27,35,57,35,35,1,117,15,
|
||||
73,24,5,2,184,36,18,21,46,17,6,41,13,17,47,19,
|
||||
7,1,21,4,58,57,30,55,49,57,28,33,1,73,34,18,
|
||||
41,41,94,2,184,11,1,63,1,12,14,159,52,25,11,49,
|
||||
16,19,1,56,19,7,44,16,18,0,0,1,0,24,0,0,
|
||||
1,6,1,106,0,14,0,44,0,177,9,15,63,176,10,51,
|
||||
176,0,222,176,14,50,177,1,10,237,177,2,10,237,1,176,
|
||||
0,47,176,1,51,177,2,14,237,177,3,14,237,177,16,2,
|
||||
16,204,48,49,19,53,51,21,6,7,6,7,6,7,35,54,
|
||||
55,54,55,24,238,71,42,6,4,14,3,46,5,86,18,19,
|
||||
1,62,44,35,75,120,16,15,46,55,140,129,27,22,0,3,
|
||||
0,20,255,249,1,7,1,112,0,29,0,47,0,65,0,203,
|
||||
0,176,20,47,176,21,51,176,22,51,177,51,7,237,177,52,
|
||||
7,237,177,53,7,237,176,14,176,51,16,222,176,27,50,176,
|
||||
60,50,176,61,50,176,62,50,177,33,7,237,177,34,7,237,
|
||||
177,35,7,237,176,3,176,33,16,222,176,42,50,176,43,50,
|
||||
176,44,50,177,5,7,237,177,6,7,237,177,7,7,237,1,
|
||||
176,24,47,176,25,51,176,26,51,176,27,51,177,48,8,237,
|
||||
177,49,8,237,177,64,8,237,177,65,8,237,176,1,47,176,
|
||||
2,51,176,3,51,176,23,51,177,30,8,237,177,31,8,237,
|
||||
177,46,8,237,177,47,8,237,176,37,47,176,38,51,176,39,
|
||||
51,176,40,51,177,9,8,237,177,10,8,237,177,11,8,237,
|
||||
177,12,8,237,176,55,47,176,56,51,176,57,51,176,58,51,
|
||||
177,14,8,237,177,15,8,237,177,16,8,237,177,17,8,237,
|
||||
177,18,8,237,177,67,17,16,204,48,49,55,38,53,52,55,
|
||||
54,51,50,23,22,29,1,20,7,22,23,20,49,20,7,6,
|
||||
35,34,39,38,61,1,52,55,50,39,20,23,22,51,50,55,
|
||||
54,61,1,52,39,38,35,34,7,6,21,7,20,23,22,51,
|
||||
50,55,54,61,1,52,39,38,35,34,7,6,21,90,54,54,
|
||||
23,28,63,29,14,54,67,2,58,28,34,72,33,16,65,2,
|
||||
6,37,11,12,40,14,5,35,12,13,38,16,5,15,40,16,
|
||||
19,48,19,7,41,16,19,47,19,7,199,20,55,59,25,10,
|
||||
46,22,27,1,53,20,22,69,3,67,30,14,52,26,33,1,
|
||||
72,20,77,42,13,4,34,10,11,1,39,15,5,32,11,12,
|
||||
170,48,19,8,40,15,17,1,48,20,7,40,15,17,0,2,
|
||||
0,21,255,249,1,7,1,112,0,33,0,52,0,133,0,176,
|
||||
29,47,176,30,51,176,31,51,177,2,7,237,177,3,7,237,
|
||||
177,4,7,237,176,11,176,2,16,222,176,12,50,176,13,50,
|
||||
177,7,13,237,177,8,13,237,177,47,13,237,177,48,13,237,
|
||||
177,49,13,237,176,39,176,8,16,222,176,40,50,176,41,50,
|
||||
177,20,7,237,177,21,7,237,177,22,7,237,1,176,15,47,
|
||||
176,16,51,176,17,51,176,18,51,177,13,8,237,177,43,8,
|
||||
237,177,44,8,237,177,45,8,237,176,6,47,176,7,51,176,
|
||||
8,51,176,9,51,177,25,10,237,177,26,10,237,177,27,10,
|
||||
237,48,49,63,1,22,51,50,55,54,53,55,39,6,15,1,
|
||||
34,39,38,61,1,52,55,54,51,50,31,1,22,21,20,7,
|
||||
6,35,34,39,38,55,52,39,34,49,38,35,34,7,6,21,
|
||||
20,23,22,51,50,55,54,53,28,43,11,50,40,22,23,1,
|
||||
1,27,52,8,65,30,14,54,27,34,72,34,5,15,60,30,
|
||||
41,76,22,3,182,37,1,14,18,46,20,8,39,15,19,52,
|
||||
15,4,85,4,58,35,36,60,2,8,43,4,1,58,27,34,
|
||||
1,73,34,17,64,10,36,67,132,43,22,67,11,174,54,22,
|
||||
9,46,20,22,50,21,8,52,14,15,0,0,0,1,0,0,
|
||||
0,0,0,0,233,217,10,104,95,15,60,245,0,19,3,232,
|
||||
0,0,0,0,184,207,153,237,0,0,0,0,184,207,153,237,
|
||||
0,0,255,52,2,246,2,234,0,0,0,8,0,2,0,0,
|
||||
0,0,0,0,0,1,0,0,3,32,255,56,0,90,2,142,
|
||||
0,0,255,152,2,246,0,1,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,25,1,176,0,33,0,0,0,0,
|
||||
1,77,0,0,2,142,0,7,1,15,0,21,0,235,0,55,
|
||||
1,31,0,15,1,23,0,21,1,23,0,6,1,30,0,21,
|
||||
1,28,0,19,1,25,0,24,1,28,0,20,1,23,0,21,
|
||||
1,27,0,0,1,15,0,21,0,235,0,55,1,31,0,15,
|
||||
1,25,0,21,1,22,0,6,1,31,0,21,1,21,0,12,
|
||||
1,25,0,24,1,28,0,20,1,31,0,21,0,0,0,1,
|
||||
0,0,0,158,0,1,0,24,0,96,0,4,255,208,0,4,
|
||||
0,4,0,0,0,4,0,14,255,122,0,5,0,5,0,0,
|
||||
0,5,0,14,255,152,0,6,0,6,0,0,0,6,0,14,
|
||||
255,150,0,7,0,14,255,122,0,8,0,14,255,122,0,9,
|
||||
0,14,255,115,0,10,0,14,255,115,0,11,0,14,255,92,
|
||||
0,12,0,14,255,115,0,13,0,14,255,115,0,14,0,14,
|
||||
255,211,0,14,0,15,255,107,0,14,0,16,255,85,0,14,
|
||||
0,17,255,107,0,14,0,18,255,115,0,14,0,19,255,92,
|
||||
0,14,0,20,255,100,0,14,0,21,255,107,0,14,0,22,
|
||||
255,130,0,14,0,23,255,100,0,14,0,24,255,107,0,0,
|
||||
0,0,0,43,0,43,0,43,0,171,1,16,1,64,1,172,
|
||||
2,58,2,140,2,246,3,128,3,180,4,125,5,19,5,42,
|
||||
5,146,5,193,6,47,6,188,7,11,7,118,7,255,8,49,
|
||||
8,241,9,127,0,1,0,0,0,25,0,70,0,3,0,0,
|
||||
0,0,0,2,0,0,0,1,0,1,0,0,0,64,0,207,
|
||||
0,0,0,0,0,0,0,26,1,62,0,1,0,0,0,0,
|
||||
0,0,0,65,0,0,0,1,0,0,0,0,0,1,0,9,
|
||||
0,66,0,1,0,0,0,0,0,2,0,7,0,76,0,1,
|
||||
0,0,0,0,0,3,0,34,0,84,0,1,0,0,0,0,
|
||||
0,4,0,9,0,119,0,1,0,0,0,0,0,5,0,7,
|
||||
0,129,0,1,0,0,0,0,0,6,0,9,0,137,0,0,
|
||||
0,3,0,0,0,0,0,130,0,147,0,0,0,3,0,0,
|
||||
0,1,0,18,1,23,0,0,0,3,0,0,0,2,0,14,
|
||||
1,43,0,0,0,3,0,0,0,3,0,68,1,59,0,0,
|
||||
0,3,0,0,0,4,0,18,1,129,0,0,0,3,0,0,
|
||||
0,5,0,14,1,149,0,0,0,3,0,0,0,6,0,18,
|
||||
1,165,0,3,0,1,4,9,0,0,0,130,0,147,0,3,
|
||||
0,1,4,9,0,1,0,18,1,23,0,3,0,1,4,9,
|
||||
0,2,0,14,1,43,0,3,0,1,4,9,0,3,0,68,
|
||||
1,59,0,3,0,1,4,9,0,4,0,18,1,129,0,3,
|
||||
0,1,4,9,0,5,0,14,1,149,0,3,0,1,4,9,
|
||||
0,6,0,18,1,165,0,3,0,1,0,0,0,4,0,34,
|
||||
1,185,0,3,0,1,0,0,0,8,0,44,1,221,0,3,
|
||||
0,1,0,0,0,11,0,46,2,11,0,3,0,1,0,0,
|
||||
0,13,0,6,2,59,0,3,0,1,0,0,0,14,0,36,
|
||||
2,67,67,114,101,97,116,101,100,32,98,121,32,65,108,108,
|
||||
101,110,32,66,97,114,110,101,116,116,32,119,105,116,104,32,
|
||||
80,102,97,69,100,105,116,32,49,46,48,32,40,104,116,116,
|
||||
112,58,47,47,112,102,97,101,100,105,116,46,115,102,46,110,
|
||||
101,116,41,0,108,67,83,121,109,98,111,108,115,0,82,101,
|
||||
103,117,108,97,114,0,80,102,97,69,100,105,116,32,49,46,
|
||||
48,32,58,32,108,67,83,121,109,98,111,108,115,32,58,32,
|
||||
50,45,51,45,50,48,55,50,0,108,67,83,121,109,98,111,
|
||||
108,115,0,48,48,49,46,48,48,48,0,108,67,83,121,109,
|
||||
98,111,108,115,0,0,67,0,114,0,101,0,97,0,116,0,
|
||||
101,0,100,0,32,0,98,0,121,0,32,0,65,0,108,0,
|
||||
108,0,101,0,110,0,32,0,66,0,97,0,114,0,110,0,
|
||||
101,0,116,0,116,0,32,0,119,0,105,0,116,0,104,0,
|
||||
32,0,80,0,102,0,97,0,69,0,100,0,105,0,116,0,
|
||||
32,0,49,0,46,0,48,0,32,0,40,0,104,0,116,0,
|
||||
116,0,112,0,58,0,47,0,47,0,112,0,102,0,97,0,
|
||||
101,0,100,0,105,0,116,0,46,0,115,0,102,0,46,0,
|
||||
110,0,101,0,116,0,41,0,0,0,108,0,67,0,83,0,
|
||||
121,0,109,0,98,0,111,0,108,0,115,0,0,0,82,0,
|
||||
101,0,103,0,117,0,108,0,97,0,114,0,0,0,80,0,
|
||||
102,0,97,0,69,0,100,0,105,0,116,0,32,0,49,0,
|
||||
46,0,48,0,32,0,58,0,32,0,108,0,67,0,83,0,
|
||||
121,0,109,0,98,0,111,0,108,0,115,0,32,0,58,0,
|
||||
32,0,50,0,45,0,51,0,45,0,50,0,48,0,55,0,
|
||||
50,0,0,0,108,0,67,0,83,0,121,0,109,0,98,0,
|
||||
111,0,108,0,115,0,0,0,48,0,48,0,49,0,46,0,
|
||||
48,0,48,0,48,0,0,0,108,0,67,0,83,0,121,0,
|
||||
109,0,98,0,111,0,108,0,115,0,0,0,108,0,105,0,
|
||||
103,0,110,0,117,0,109,0,67,0,65,0,68,0,32,0,
|
||||
83,0,121,0,109,0,98,0,111,0,108,0,115,0,0,0,
|
||||
108,0,105,0,103,0,110,0,117,0,109,0,32,0,67,0,
|
||||
111,0,109,0,112,0,117,0,116,0,105,0,110,0,103,0,
|
||||
44,0,32,0,73,0,110,0,99,0,46,0,0,0,119,0,
|
||||
119,0,119,0,46,0,108,0,105,0,103,0,110,0,117,0,
|
||||
109,0,99,0,111,0,109,0,112,0,117,0,116,0,105,0,
|
||||
110,0,103,0,46,0,99,0,111,0,109,0,0,0,71,0,
|
||||
80,0,76,0,0,0,104,0,116,0,116,0,112,0,58,0,
|
||||
47,0,47,0,119,0,119,0,119,0,46,0,103,0,110,0,
|
||||
117,0,46,0,111,0,114,0,103,0,0,0,0,2,0,0,
|
||||
0,0,0,0,255,156,0,50,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,
|
||||
0,1,0,2,1,2,1,3,1,4,1,5,1,6,1,7,
|
||||
1,8,1,9,1,10,1,11,1,12,1,13,1,14,1,15,
|
||||
1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,
|
||||
7,117,110,105,50,49,48,52,7,117,110,105,69,48,48,48,
|
||||
7,117,110,105,69,48,48,49,7,117,110,105,69,48,48,50,
|
||||
7,117,110,105,69,48,48,51,7,117,110,105,69,48,48,52,
|
||||
7,117,110,105,69,48,48,53,7,117,110,105,69,48,48,54,
|
||||
7,117,110,105,69,48,48,55,7,117,110,105,69,48,48,56,
|
||||
7,117,110,105,69,48,48,57,7,117,110,105,69,48,48,65,
|
||||
7,117,110,105,69,48,49,48,7,117,110,105,69,48,49,49,
|
||||
7,117,110,105,69,48,49,50,7,117,110,105,69,48,49,51,
|
||||
7,117,110,105,69,48,49,52,7,117,110,105,69,48,49,53,
|
||||
7,117,110,105,69,48,49,54,7,117,110,105,69,48,49,55,
|
||||
7,117,110,105,69,48,49,56,7,117,110,105,69,48,49,57,
|
||||
};
|
||||
const int lCSymbols_ttf_size = sizeof( lCSymbols_ttf );
|
||||
|
After Width: | Height: | Size: 464 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 92 KiB |
|
After Width: | Height: | Size: 96 KiB |
|
After Width: | Height: | Size: 138 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 100 KiB |
|
After Width: | Height: | Size: 102 KiB |
|
After Width: | Height: | Size: 118 KiB |
@@ -0,0 +1,378 @@
|
||||
/*
|
||||
* demo.cpp: Demo of the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#include <unistd.h>
|
||||
#include <cstdlib>
|
||||
#include <iostream>
|
||||
#include <GL/glut.h>
|
||||
|
||||
#include <OGLFT.h>
|
||||
|
||||
static const char* USAGE = " fontfile";
|
||||
|
||||
static const char* commands = "a/A: char rotate X, s/S: char rotate Y, d/D: char rotate Z, f/F: string rotate, r: reset all";
|
||||
static const char* text = "The quick brown fox jumps over a lazy dog.";
|
||||
static const float point_size = 16;
|
||||
|
||||
static OGLFT::Monochrome* commands_face;
|
||||
static OGLFT::Monochrome* monochrome_face;
|
||||
static OGLFT::Grayscale* grayscale_face;
|
||||
static OGLFT::Translucent* translucent_face;
|
||||
static OGLFT::Outline* outline_face;
|
||||
static OGLFT::Filled* filled_face;
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
static OGLFT::Solid* solid_face;
|
||||
#else
|
||||
static OGLFT::Monochrome* solid_face;
|
||||
#endif
|
||||
static OGLFT::MonochromeTexture* monochrome_texture_face;
|
||||
static OGLFT::GrayscaleTexture* grayscale_texture_face;
|
||||
static OGLFT::TranslucentTexture* translucent_texture_face;
|
||||
|
||||
|
||||
static float dy;
|
||||
static int viewport_width;
|
||||
static int viewport_height;
|
||||
|
||||
static void init ( int /*argc*/, char* argv[] )
|
||||
{
|
||||
std::cout << glGetString( GL_VENDOR ) << " " << glGetString( GL_RENDERER ) << " "
|
||||
<< glGetString( GL_VERSION ) << std::endl;
|
||||
|
||||
commands_face = new OGLFT::Monochrome( argv[1], point_size / 2. );
|
||||
commands_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
|
||||
monochrome_face = new OGLFT::Monochrome( argv[1], point_size );
|
||||
monochrome_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
monochrome_face->setForegroundColor( 1., 0., 0., 1. );
|
||||
|
||||
if ( !monochrome_face->isValid() ) {
|
||||
std::cerr << "failed to open face. exiting." << std::endl;
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
grayscale_face = new OGLFT::Grayscale( argv[1], point_size );
|
||||
grayscale_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
grayscale_face->setForegroundColor( 0., 0., .5, 1. );
|
||||
grayscale_face->setBackgroundColor( 0., 1., 1., 1. );
|
||||
|
||||
translucent_face = new OGLFT::Translucent( argv[1], point_size );
|
||||
translucent_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
translucent_face->setForegroundColor( 0., .5, 0., 1. );
|
||||
|
||||
outline_face = new OGLFT::Outline( argv[1], point_size );
|
||||
outline_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
outline_face->setForegroundColor( 1., 1., 0., 1. );
|
||||
|
||||
filled_face = new OGLFT::Filled( argv[1], point_size );
|
||||
filled_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
filled_face->setForegroundColor( .5, 0., 1., 1. );
|
||||
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
solid_face = new OGLFT::Solid( argv[1], point_size );
|
||||
solid_face->setDepth( 10. );
|
||||
solid_face->setCharacterRotationX( 25. );
|
||||
solid_face->setCharacterRotationY( 25. );
|
||||
solid_face->setTessellationSteps( 3 );
|
||||
#else
|
||||
solid_face = new OGLFT::Monochrome( argv[1], point_size );
|
||||
#endif
|
||||
solid_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
solid_face->setForegroundColor( 1., .5, 0., 1. );
|
||||
|
||||
monochrome_texture_face = new OGLFT::MonochromeTexture( argv[1], point_size );
|
||||
monochrome_texture_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
monochrome_texture_face->setForegroundColor( 0., .5, .75, 1. );
|
||||
|
||||
grayscale_texture_face = new OGLFT::GrayscaleTexture( argv[1], point_size );
|
||||
grayscale_texture_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
grayscale_texture_face->setForegroundColor( 0.9, .65, .9, 1. );
|
||||
grayscale_texture_face->setBackgroundColor( 0.5, .5, .75, 0.3 );
|
||||
|
||||
translucent_texture_face = new OGLFT::TranslucentTexture( argv[1], point_size );
|
||||
translucent_texture_face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
translucent_texture_face->setForegroundColor( 0.75, 1., .75, 1. );
|
||||
|
||||
// Set various general parameters which don't affect performance (yet).
|
||||
glClearColor( .75, .75, .75, 1. );
|
||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
|
||||
#if defined(GL_RASTER_POSITION_UNCLIPPED_IBM)
|
||||
glEnable( GL_RASTER_POSITION_UNCLIPPED_IBM );
|
||||
#endif
|
||||
glEnable( GL_LIGHT0 );
|
||||
glDisable( GL_DITHER );
|
||||
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
|
||||
glTexEnvi( GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE );
|
||||
}
|
||||
|
||||
static void reshape ( int width, int height )
|
||||
{
|
||||
viewport_width = width;
|
||||
viewport_height = height;
|
||||
|
||||
glViewport( 0, 0, viewport_width, viewport_height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glOrtho( 0, viewport_width, 0, viewport_height, -100, 100 );
|
||||
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
|
||||
dy = viewport_height / ( 9 + 1 );
|
||||
}
|
||||
|
||||
static void reset ( void )
|
||||
{
|
||||
monochrome_face->setCharacterRotationZ( 0 );
|
||||
monochrome_face->setStringRotation( 0 );
|
||||
|
||||
grayscale_face->setCharacterRotationZ( 0 );
|
||||
grayscale_face->setStringRotation( 0 );
|
||||
|
||||
translucent_face->setCharacterRotationZ( 0 );
|
||||
translucent_face->setStringRotation( 0 );
|
||||
|
||||
outline_face->setCharacterRotationX( 0 );
|
||||
outline_face->setCharacterRotationY( 0 );
|
||||
outline_face->setCharacterRotationZ( 0 );
|
||||
outline_face->setStringRotation( 0 );
|
||||
|
||||
filled_face->setCharacterRotationX( 0 );
|
||||
filled_face->setCharacterRotationY( 0 );
|
||||
filled_face->setCharacterRotationZ( 0 );
|
||||
filled_face->setStringRotation( 0 );
|
||||
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
solid_face->setCharacterRotationX( 25. );
|
||||
solid_face->setCharacterRotationY( 25. );
|
||||
#endif
|
||||
solid_face->setCharacterRotationZ( 0 );
|
||||
solid_face->setStringRotation( 0 );
|
||||
|
||||
monochrome_texture_face->setCharacterRotationX( 0 );
|
||||
monochrome_texture_face->setCharacterRotationY( 0 );
|
||||
monochrome_texture_face->setCharacterRotationZ( 0 );
|
||||
monochrome_texture_face->setStringRotation( 0 );
|
||||
|
||||
grayscale_texture_face->setCharacterRotationX( 0 );
|
||||
grayscale_texture_face->setCharacterRotationY( 0 );
|
||||
grayscale_texture_face->setCharacterRotationZ( 0 );
|
||||
grayscale_texture_face->setStringRotation( 0 );
|
||||
|
||||
translucent_texture_face->setCharacterRotationX( 0 );
|
||||
translucent_texture_face->setCharacterRotationY( 0 );
|
||||
translucent_texture_face->setCharacterRotationZ( 0 );
|
||||
translucent_texture_face->setStringRotation( 0 );
|
||||
|
||||
glViewport( 0, 0, viewport_width, viewport_height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glOrtho( 0, viewport_width, 0, viewport_height, -100, 100 );
|
||||
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
static void char_rotate_x ( float dx )
|
||||
{
|
||||
outline_face->setCharacterRotationX( outline_face->characterRotationX()+dx );
|
||||
filled_face->setCharacterRotationX( filled_face->characterRotationX()+dx );
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
solid_face->setCharacterRotationX( solid_face->characterRotationX()+dx );
|
||||
#endif
|
||||
monochrome_texture_face->setCharacterRotationX(
|
||||
monochrome_texture_face->characterRotationX()+dx );
|
||||
grayscale_texture_face->setCharacterRotationX(
|
||||
grayscale_texture_face->characterRotationX()+dx );
|
||||
translucent_texture_face->setCharacterRotationX(
|
||||
translucent_texture_face->characterRotationX()+dx );
|
||||
}
|
||||
|
||||
static void char_rotate_y ( float dy )
|
||||
{
|
||||
outline_face->setCharacterRotationY( outline_face->characterRotationY()+dy );
|
||||
filled_face->setCharacterRotationY( filled_face->characterRotationY()+dy );
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
solid_face->setCharacterRotationY( solid_face->characterRotationY()+dy );
|
||||
#endif
|
||||
monochrome_texture_face->setCharacterRotationY(
|
||||
monochrome_texture_face->characterRotationY()+dy );
|
||||
grayscale_texture_face->setCharacterRotationY(
|
||||
grayscale_texture_face->characterRotationY()+dy );
|
||||
translucent_texture_face->setCharacterRotationY(
|
||||
translucent_texture_face->characterRotationY()+dy );
|
||||
}
|
||||
|
||||
static void char_rotate_z ( float dz )
|
||||
{
|
||||
monochrome_face->setCharacterRotationZ( monochrome_face->characterRotationZ()+dz );
|
||||
grayscale_face->setCharacterRotationZ( grayscale_face->characterRotationZ()+dz );
|
||||
translucent_face->setCharacterRotationZ( translucent_face->characterRotationZ()+dz );
|
||||
|
||||
outline_face->setCharacterRotationZ( outline_face->characterRotationZ()+dz );
|
||||
filled_face->setCharacterRotationZ( filled_face->characterRotationZ()+dz );
|
||||
solid_face->setCharacterRotationZ( solid_face->characterRotationZ()+dz );
|
||||
|
||||
monochrome_texture_face->setCharacterRotationZ( monochrome_texture_face->characterRotationZ()+dz );
|
||||
grayscale_texture_face->setCharacterRotationZ( grayscale_texture_face->characterRotationZ()+dz );
|
||||
translucent_texture_face->setCharacterRotationZ( translucent_texture_face->characterRotationZ()+dz );
|
||||
}
|
||||
|
||||
static void string_rotate ( float dz )
|
||||
{
|
||||
|
||||
monochrome_face->setStringRotation( monochrome_face->stringRotation()+dz );
|
||||
grayscale_face->setStringRotation( grayscale_face->stringRotation()+dz );
|
||||
translucent_face->setStringRotation( translucent_face->stringRotation()+dz );
|
||||
|
||||
outline_face->setStringRotation( outline_face->stringRotation()+dz );
|
||||
filled_face->setStringRotation( filled_face->stringRotation()+dz );
|
||||
solid_face->setStringRotation( solid_face->stringRotation()+dz );
|
||||
|
||||
monochrome_texture_face->setStringRotation( monochrome_texture_face->stringRotation()+dz );
|
||||
grayscale_texture_face->setStringRotation( grayscale_texture_face->stringRotation()+dz );
|
||||
translucent_texture_face->setStringRotation( translucent_texture_face->stringRotation()+dz );
|
||||
}
|
||||
|
||||
static void display ( void )
|
||||
{
|
||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
||||
glPushMatrix();
|
||||
|
||||
// Draw everything centered
|
||||
glTranslatef( viewport_width/2., 0., 0. );
|
||||
|
||||
commands_face->draw( 0., 0., commands );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
monochrome_face->draw( 0., 0., text );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
grayscale_face->draw( 0., 0., text );
|
||||
|
||||
glEnable( GL_BLEND );
|
||||
glTranslatef( 0., dy, 0. );
|
||||
translucent_face->draw( 0., 0., text );
|
||||
glDisable( GL_BLEND );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
outline_face->draw( 0., 0., text );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
filled_face->draw( 0., 0., text );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
glEnable( GL_LIGHTING );
|
||||
glEnable( GL_DEPTH_TEST );
|
||||
glEnable( GL_COLOR_MATERIAL );
|
||||
solid_face->draw( 0., 0., text );
|
||||
glDisable( GL_COLOR_MATERIAL );
|
||||
glDisable( GL_DEPTH_TEST );
|
||||
glDisable( GL_LIGHTING );
|
||||
#else
|
||||
solid_face->draw( 0., 0., "<Note: Solid face not available in library>" );
|
||||
#endif
|
||||
|
||||
glEnable( GL_TEXTURE_2D );
|
||||
glEnable( GL_BLEND );
|
||||
glEnable( GL_DEPTH_TEST );
|
||||
glTranslatef( 0., dy, 0. );
|
||||
monochrome_texture_face->draw( 0., 0., text );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
grayscale_texture_face->draw( 0., 0., text );
|
||||
|
||||
glTranslatef( 0., dy, 0. );
|
||||
translucent_texture_face->draw( 0., 0., text );
|
||||
glDisable( GL_DEPTH_TEST );
|
||||
glDisable( GL_BLEND );
|
||||
glDisable( GL_TEXTURE_2D );
|
||||
|
||||
glPopMatrix();
|
||||
glutSwapBuffers();
|
||||
}
|
||||
|
||||
static void key ( unsigned char key, int /*x*/, int /*y*/ )
|
||||
{
|
||||
switch ( key ) {
|
||||
case 'a':
|
||||
char_rotate_x( -4 ); break;
|
||||
case 'A':
|
||||
char_rotate_x( 4 ); break;
|
||||
case 's':
|
||||
char_rotate_y( -4 ); break;
|
||||
case 'S':
|
||||
char_rotate_y( 4 ); break;
|
||||
case 'd':
|
||||
char_rotate_z( -4 ); break;
|
||||
case 'D':
|
||||
char_rotate_z( 4 ); break;
|
||||
case 'f':
|
||||
string_rotate( -4 ); break;
|
||||
case 'F':
|
||||
string_rotate( 4 ); break;
|
||||
case 'r': case 'R':
|
||||
reset(); break;
|
||||
case 27:
|
||||
exit( 0 );
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
static void done ( void )
|
||||
{
|
||||
delete monochrome_face;
|
||||
delete grayscale_face;
|
||||
delete translucent_face;
|
||||
delete outline_face;
|
||||
delete filled_face;
|
||||
delete solid_face;
|
||||
delete monochrome_texture_face;
|
||||
delete grayscale_texture_face;
|
||||
delete translucent_texture_face;
|
||||
}
|
||||
|
||||
int main ( int argc, char* argv[] )
|
||||
{
|
||||
if ( argc != 2 ) {
|
||||
std::cerr << argv[0] << USAGE << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowSize( 500, 500 );
|
||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
||||
glutCreateWindow( argv[0] );
|
||||
|
||||
init( argc, argv );
|
||||
|
||||
atexit( done );
|
||||
|
||||
glutReshapeFunc( reshape );
|
||||
glutDisplayFunc( display );
|
||||
glutKeyboardFunc( key );
|
||||
|
||||
glutMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,183 @@
|
||||
/*
|
||||
* demo2.cpp: Second Demo of the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#include <iostream>
|
||||
|
||||
#include <GL/glut.h>
|
||||
|
||||
#include <OGLFT.h>
|
||||
|
||||
#include FT_MULTIPLE_MASTERS_H
|
||||
|
||||
static const char* USAGE = " fontfile";
|
||||
|
||||
static FT_Library library;
|
||||
static FT_Face ft_face;
|
||||
static FT_Multi_Master master_info;
|
||||
static FT_Long axis_averages[T1_MAX_MM_AXIS];
|
||||
#if 0
|
||||
static OGLFT::Filled* oglft_face;
|
||||
#else
|
||||
static OGLFT::Monochrome* oglft_face;
|
||||
#endif
|
||||
static int viewport_width;
|
||||
static int viewport_height;
|
||||
|
||||
static void init ( int /*argc*/, char* argv[] )
|
||||
{
|
||||
std::cout << glGetString( GL_VENDOR ) << " " << glGetString( GL_RENDERER ) << " "
|
||||
<< glGetString( GL_VERSION ) << std::endl;
|
||||
|
||||
library = OGLFT::Library::instance();
|
||||
|
||||
FT_Error error;
|
||||
|
||||
error = FT_New_Face( library, argv[1], 0, &ft_face );
|
||||
|
||||
if ( error != 0 ) {
|
||||
std::cerr << "Could not create a font from file \"" << argv[1] << "\""
|
||||
<< std::endl;
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
error = FT_Get_Multi_Master( ft_face, &master_info );
|
||||
|
||||
if ( error != 0 ) {
|
||||
std::cerr << "Font file \"" << argv[1]
|
||||
<< "\" does not contain a multi master font" << std::endl;
|
||||
exit( 1 );
|
||||
}
|
||||
|
||||
for ( unsigned int i = 0; i < master_info.num_axis; i++ )
|
||||
axis_averages[i] = ( master_info.axis[i].minimum +
|
||||
master_info.axis[i].maximum ) / 2;
|
||||
|
||||
FT_Set_MM_Design_Coordinates( ft_face, master_info.num_axis, axis_averages );
|
||||
|
||||
#if 0
|
||||
oglft_face = new OGLFT::Filled( ft_face, 14 );
|
||||
#else
|
||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
|
||||
glEnable( GL_RASTER_POSITION_UNCLIPPED_IBM );
|
||||
|
||||
oglft_face = new OGLFT::Monochrome( ft_face, 14 );
|
||||
#endif
|
||||
oglft_face->setHorizontalJustification( OGLFT::Face::LEFT );
|
||||
oglft_face->setForegroundColor( 1., 0., 0. );
|
||||
oglft_face->setCompileMode( OGLFT::Face::IMMEDIATE );
|
||||
}
|
||||
|
||||
static void reshape ( int width, int height )
|
||||
{
|
||||
viewport_width = width;
|
||||
viewport_height = height;
|
||||
|
||||
glViewport( 0, 0, viewport_width, viewport_height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glOrtho( 0, viewport_width, 0, viewport_height, -100, 100 );
|
||||
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
static void display ( void )
|
||||
{
|
||||
const int BUFSIZE = 128;
|
||||
char buffer[BUFSIZE];
|
||||
|
||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
||||
glPushMatrix();
|
||||
|
||||
snprintf( buffer, sizeof(buffer), "There are %d axes", master_info.num_axis );
|
||||
|
||||
GLfloat y = 480.;
|
||||
|
||||
oglft_face->draw( 0., y, buffer );
|
||||
|
||||
for ( unsigned int i = 0; i < master_info.num_axis; i++ ) {
|
||||
FT_Set_MM_Design_Coordinates( ft_face, master_info.num_axis, axis_averages );
|
||||
snprintf( buffer, sizeof(buffer), "%s: min: %ld max: %ld",
|
||||
master_info.axis[i].name,
|
||||
master_info.axis[i].minimum, master_info.axis[i].maximum );
|
||||
|
||||
y -= 20.;
|
||||
oglft_face->draw( 0., y, buffer );
|
||||
|
||||
FT_Long axis_average = axis_averages[i];
|
||||
FT_Long d_axis = (master_info.axis[i].maximum - master_info.axis[i].minimum)/4;
|
||||
axis_averages[i] = master_info.axis[i].minimum;
|
||||
|
||||
for ( int j = 0; j <= 4; j++ ) {
|
||||
FT_Set_MM_Design_Coordinates( ft_face, master_info.num_axis, axis_averages );
|
||||
snprintf( buffer, sizeof(buffer), " Style at axis = %ld\n", axis_averages[i] );
|
||||
y -= 20.;
|
||||
oglft_face->draw( 0., y, buffer );
|
||||
|
||||
axis_averages[i] += d_axis;
|
||||
}
|
||||
|
||||
axis_averages[i] = axis_average;
|
||||
}
|
||||
|
||||
glPopMatrix();
|
||||
glutSwapBuffers();
|
||||
}
|
||||
|
||||
static void key ( unsigned char key, int /*x*/, int /*y*/ )
|
||||
{
|
||||
switch ( key ) {
|
||||
case 'q':
|
||||
case 27:
|
||||
exit( 0 );
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
static void done ( void )
|
||||
{
|
||||
}
|
||||
|
||||
int main ( int argc, char* argv[] )
|
||||
{
|
||||
if ( argc != 2 ) {
|
||||
std::cerr << argv[0] << USAGE << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowSize( 500, 500 );
|
||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH );
|
||||
glutCreateWindow( argv[0] );
|
||||
|
||||
init( argc, argv );
|
||||
|
||||
atexit( done );
|
||||
|
||||
glutReshapeFunc( reshape );
|
||||
glutDisplayFunc( display );
|
||||
glutKeyboardFunc( key );
|
||||
|
||||
glutMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,89 @@
|
||||
/* -*- c++ -*-
|
||||
* speedtest.h: Header for Performance test for the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#ifndef SPEEDTEST_H
|
||||
#define SPEEDTEST_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include <qgl.h>
|
||||
#include <qqueue.h>
|
||||
#include <qtimer.h>
|
||||
|
||||
// Little animation vignettes. The function calls essentially follow
|
||||
// those of the Qt OpenGL widget and are called at the corresponding times.
|
||||
|
||||
struct Vignette {
|
||||
virtual ~Vignette ( void ) {}
|
||||
virtual unsigned int frame_count ( void ) = 0;
|
||||
virtual void init ( void ) = 0;
|
||||
virtual void view ( GLdouble /*left*/, GLdouble /*right*/,
|
||||
GLdouble /*bottom*/, GLdouble /*top*/ )
|
||||
{}
|
||||
virtual void reset ( void )
|
||||
{}
|
||||
virtual bool input ( QKeyEvent* e )
|
||||
{
|
||||
if ( e->key() == Qt::Key_Escape ) exit( 0 );
|
||||
return false;
|
||||
}
|
||||
virtual void draw ( int frame_number ) = 0;
|
||||
virtual void finish ( void ) = 0;
|
||||
};
|
||||
|
||||
// Yet another OpenGL view widget.
|
||||
|
||||
class CharacterView : public QGLWidget {
|
||||
Q_OBJECT
|
||||
GLsizei window_width_, window_height_;
|
||||
GLdouble view_width_, view_height_;
|
||||
GLdouble view_left_, view_right_, view_bottom_, view_top_;
|
||||
GLdouble rot_x_, rot_y_, rot_z_;
|
||||
|
||||
QTimer redraw_timer_;
|
||||
QTimer performance_timer_;
|
||||
|
||||
unsigned int frame_counter_;
|
||||
unsigned int counter_snapshot_;
|
||||
unsigned int animation_frame_count_;
|
||||
unsigned int iteration_counter_;
|
||||
unsigned int maximum_iterations_;
|
||||
|
||||
static const unsigned int PERFORMANCE_SAMPLE_RATE_HZ = 1;
|
||||
static const unsigned int MAXIMUM_ITERATIONS = 4;
|
||||
|
||||
QQueue<Vignette> vignettes;
|
||||
|
||||
protected slots:
|
||||
void redraw ( void );
|
||||
void measure_performance ( void );
|
||||
|
||||
public:
|
||||
CharacterView ( const char* text, const char* fontfile,
|
||||
QWidget* parent = 0, const char* name = 0 );
|
||||
protected:
|
||||
|
||||
void initializeGL ( void );
|
||||
void resizeGL ( int w, int h );
|
||||
void paintGL ( void );
|
||||
void keyPressEvent ( QKeyEvent* e );
|
||||
void resetView ( void );
|
||||
};
|
||||
|
||||
#endif /* SPEEDTEST_H */
|
||||
|
After Width: | Height: | Size: 507 B |
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use strict;
|
||||
|
||||
# Convert the file given on the commandline into something which
|
||||
# can be compiled with C and linked into an executable.
|
||||
# Use the generated object module with the following declarations:
|
||||
# extern unsigned char ${ARGV[0]}[]; /* Array of data */
|
||||
# extern int ${ARGV[0]}_size; /* Size of array */
|
||||
# Note, .'s in the argument filename are converted to _'s
|
||||
|
||||
open FILE, $ARGV[0] or die "usage: $0 file";
|
||||
|
||||
# "Slurp the whole file"
|
||||
undef $/;
|
||||
my $contents = <FILE>;
|
||||
|
||||
# Replace .'s in the filename with _'s (since . is an operator in C)
|
||||
my $label = $ARGV[0];
|
||||
$label =~ s/\./_/;
|
||||
|
||||
print "FT_Byte $label\[\] = {\n";
|
||||
|
||||
for ( my $i = 0; $i < length $contents; $i += 16 ) {
|
||||
print join( ",", unpack( "C*", substr( $contents, $i, 16 ) ) ), ",\n";
|
||||
}
|
||||
|
||||
print "};\n";
|
||||
|
||||
print "const int ${label}_size = sizeof( $label );\n";
|
||||
@@ -0,0 +1,98 @@
|
||||
/*
|
||||
* tutorial1.cpp: Tutorial for the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#include <iostream>
|
||||
|
||||
#include <GL/glut.h>
|
||||
|
||||
#include <OGLFT.h> // Note: this will depend on where you've installed OGLFT
|
||||
|
||||
// Declare a Face variable of the desired style
|
||||
OGLFT::Monochrome* monochrome;
|
||||
|
||||
void init ( const char* filename )
|
||||
{
|
||||
// Create a new face given the font filename and a size
|
||||
|
||||
monochrome = new OGLFT::Monochrome( filename, 36 );
|
||||
|
||||
// Always check to make sure the face was properly constructed
|
||||
|
||||
if ( monochrome == 0 || !monochrome->isValid() ) {
|
||||
std::cerr << "Could not construct face from " << filename << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
// Set the face color to red
|
||||
|
||||
monochrome->setForegroundColor( 1., 0., 0. );
|
||||
|
||||
// For the raster styles, it is essential that the pixel store
|
||||
// unpacking alignment be set to 1
|
||||
|
||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
|
||||
|
||||
// Set the window's background color
|
||||
|
||||
glClearColor( .75, .75, .75, 1. );
|
||||
}
|
||||
|
||||
static void display ( void )
|
||||
{
|
||||
// First clear the window ...
|
||||
glClear( GL_COLOR_BUFFER_BIT );
|
||||
// ... then draw the string
|
||||
monochrome->draw( 0., 250., "Hello, World!" );
|
||||
}
|
||||
|
||||
static void reshape ( int width, int height )
|
||||
{
|
||||
glViewport( 0, 0, width, height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glOrtho( 0, width, 0, height, -1, 1 );
|
||||
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
int main ( int argc, char* argv[] )
|
||||
{
|
||||
// Check to be sure the user specified something as a font file name
|
||||
|
||||
if ( argc != 2 ) {
|
||||
std::cerr << "usage: " << argv[0] << " fontfile" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Standard GLUT setup commands
|
||||
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowSize( 500, 500 );
|
||||
glutInitDisplayMode( GLUT_RGB ); // Note: OGLFT really only works in RGB mode
|
||||
glutCreateWindow( argv[0] );
|
||||
|
||||
init( argv[1] );
|
||||
|
||||
glutReshapeFunc( reshape );
|
||||
glutDisplayFunc( display );
|
||||
glutMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,131 @@
|
||||
/*
|
||||
* tutorial2.cpp: Tutorial for the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#include <iostream>
|
||||
|
||||
#include <GL/glut.h>
|
||||
|
||||
#include <OGLFT.h> // Note: this will depend on where you've installed OGLFT
|
||||
|
||||
#define USE_BITMAP_FACE
|
||||
|
||||
// Declare a Face variable of the desired style
|
||||
#if defined( USE_BITMAP_FACE )
|
||||
OGLFT::Monochrome* face;
|
||||
#else
|
||||
OGLFT::Filled* face;
|
||||
#endif
|
||||
|
||||
void init ( const char* filename )
|
||||
{
|
||||
// Create a new face given the font filename and a size
|
||||
|
||||
#if defined( USE_BITMAP_FACE )
|
||||
face = new OGLFT::Monochrome( filename, 36 );
|
||||
#else
|
||||
face = new OGLFT::Filled( filename, 36 );
|
||||
#endif
|
||||
|
||||
// Always check to make sure the face was properly constructed
|
||||
|
||||
if ( face == 0 || !face->isValid() ) {
|
||||
std::cerr << "Could not construct face from " << filename << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
// Set the face color to red
|
||||
|
||||
face->setForegroundColor( 1., 0., 0. );
|
||||
|
||||
// Use centered justification
|
||||
|
||||
face->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
|
||||
// For the raster styles, it is essential that the pixel store
|
||||
// unpacking alignment be set to 1
|
||||
|
||||
glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
|
||||
|
||||
// Set the window's background color
|
||||
|
||||
glClearColor( .75, .75, .75, 1. );
|
||||
}
|
||||
|
||||
static void display ( void )
|
||||
{
|
||||
// First clear the window ...
|
||||
glClear( GL_COLOR_BUFFER_BIT );
|
||||
// ... then draw the string
|
||||
face->draw( 250., 250., "Hello, World!" );
|
||||
|
||||
glutSwapBuffers();
|
||||
}
|
||||
|
||||
static void reshape ( int width, int height )
|
||||
{
|
||||
glViewport( 0, 0, width, height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glOrtho( 0, width, 0, height, -1, 1 );
|
||||
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
static void idle ( void )
|
||||
{
|
||||
// Retrieve the current value of the string's rotation and increment
|
||||
// it by 4 degrees
|
||||
|
||||
face->setStringRotation( face->stringRotation() + 4 );
|
||||
#if !defined(WIN32)
|
||||
// Too fast even without acceleration
|
||||
struct timespec request = { 0, 40000000 };
|
||||
nanosleep( &request, 0 );
|
||||
#else
|
||||
Sleep( 40 );
|
||||
#endif
|
||||
glutPostRedisplay();
|
||||
}
|
||||
|
||||
int main ( int argc, char* argv[] )
|
||||
{
|
||||
// Check to be sure the user specified something as a font file name
|
||||
|
||||
if ( argc != 2 ) {
|
||||
std::cerr << "usage: " << argv[0] << " fontfile" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Standard GLUT setup commands
|
||||
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowSize( 500, 500 );
|
||||
glutInitDisplayMode( GLUT_RGB | GLUT_DOUBLE ); // Note: OGLFT really only works in RGB mode
|
||||
glutCreateWindow( argv[0] );
|
||||
|
||||
init( argv[1] );
|
||||
|
||||
glutReshapeFunc( reshape );
|
||||
glutDisplayFunc( display );
|
||||
glutIdleFunc( idle );
|
||||
glutMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,282 @@
|
||||
/*
|
||||
* tutorial3.cpp: Tutorial for the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#include <iostream>
|
||||
#if defined(_MSC_VER)
|
||||
#define _USE_MATH_DEFINES
|
||||
#endif
|
||||
#include <cmath>
|
||||
#include <ctime>
|
||||
#include <vector> // The STL vector
|
||||
#include <algorithm> // The STL algorithms
|
||||
#include <GL/glut.h>
|
||||
|
||||
#include <OGLFT.h> // Note: this will depend on where you've installed OGLFT
|
||||
|
||||
// A Face variable of the desired style
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
OGLFT::Solid* solid;
|
||||
#else // If Solid is not defined, use Filled instead
|
||||
OGLFT::Filled* solid;
|
||||
#endif
|
||||
|
||||
// The Bounding Box for the string
|
||||
OGLFT::BBox bbox;
|
||||
|
||||
// A vector of OpenGL display list names
|
||||
OGLFT::DisplayLists dlists;
|
||||
|
||||
// A vector of displacements defining the ocean
|
||||
struct vertex {
|
||||
float y;
|
||||
float nx, ny;
|
||||
};
|
||||
std::vector< vertex > ocean_vertices;
|
||||
|
||||
void init ( const char* filename )
|
||||
{
|
||||
// Create a new face given the font filename and a size
|
||||
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
solid = new OGLFT::Solid( filename, 36 );
|
||||
#else
|
||||
solid = new OGLFT::Filled( filename, 36 );
|
||||
#endif
|
||||
|
||||
// Always check to make sure the face was properly constructed
|
||||
|
||||
if ( solid == 0 || !solid->isValid() ) {
|
||||
std::cerr << "Could not construct face from " << filename << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
const float AMPLITUDE = 25.;
|
||||
GLuint dlist = glGenLists( 2*13 );
|
||||
|
||||
// The per character display lists are executed before the glyph is
|
||||
// rendered; so, the first display list must contain an absolute
|
||||
// transformation, but the subsequent ones must contain relative
|
||||
// transformations. However, we need complete sets of both transformations,
|
||||
// starting with a place holder for the first (absolute) transformation
|
||||
|
||||
dlists.push_back( 0 );
|
||||
|
||||
// Next, generate a sequence of relative displacements
|
||||
|
||||
for ( int i=0; i<13; i++ ) {
|
||||
float dy = AMPLITUDE * ( sinf( (i+1) * 2.f * (float)M_PI / 13.f ) -
|
||||
sinf( i * 2.f * (float)M_PI / 13.f ) );
|
||||
|
||||
glNewList( dlist, GL_COMPILE );
|
||||
glTranslatef( 0., dy, 0. );
|
||||
glEndList();
|
||||
|
||||
dlists.push_back( dlist );
|
||||
|
||||
dlist++;
|
||||
}
|
||||
|
||||
// Next, generate a sequence of absolute displacements
|
||||
|
||||
for ( int i=0; i<13; i++ ) {
|
||||
float y = AMPLITUDE * sinf( i * 2.f * (float)M_PI / 13.f );
|
||||
|
||||
glNewList( dlist, GL_COMPILE );
|
||||
glTranslatef( 0., y, 0. );
|
||||
glEndList();
|
||||
|
||||
dlists.push_back( dlist );
|
||||
|
||||
dlist++;
|
||||
}
|
||||
|
||||
// Finally, copy the first absolute displacement into the first element
|
||||
// of the display list vector
|
||||
|
||||
dlists[0] = dlists[13+1];
|
||||
|
||||
// Use centered justification
|
||||
|
||||
solid->setHorizontalJustification( OGLFT::Face::CENTER );
|
||||
#ifndef OGLFT_NO_SOLID
|
||||
// Make the glyphs rather thick
|
||||
|
||||
solid->setDepth( 10. );
|
||||
#endif
|
||||
// Apply the per character display lists
|
||||
|
||||
solid->setCharacterDisplayLists( dlists );
|
||||
|
||||
// Get the size of the string before it is transformed
|
||||
|
||||
bbox = solid->measure( "Hello, World!" );
|
||||
|
||||
// Make it (sea) green
|
||||
|
||||
solid->setForegroundColor( 143.f/255.f, 188.f/255.f, 143.f/255.f );
|
||||
|
||||
// Set the window's background color
|
||||
|
||||
glClearColor( .5, .5, .5, 1. );
|
||||
|
||||
// Build an "ocean" for the characters to float upon (a higher resolution
|
||||
// version of the absolute displacements which we'll cycle through)
|
||||
|
||||
for ( int i = 0; i <= 52; i++ ) {
|
||||
float s = sinf( i * 2.f * (float)M_PI / 52.f );
|
||||
float c = cosf( i * 2.f * (float)M_PI / 52.f );
|
||||
vertex v;
|
||||
v.y = AMPLITUDE * s;
|
||||
v.nx = c;
|
||||
v.ny = s;
|
||||
ocean_vertices.push_back( v );
|
||||
}
|
||||
|
||||
// Enable lighting and the depth test
|
||||
|
||||
glEnable( GL_LIGHTING );
|
||||
glEnable( GL_LIGHT0 );
|
||||
glEnable( GL_COLOR_MATERIAL );
|
||||
glEnable( GL_DEPTH_TEST );
|
||||
}
|
||||
|
||||
static int offset = 0;
|
||||
|
||||
static void display ( void )
|
||||
{
|
||||
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
|
||||
glPushMatrix();
|
||||
|
||||
solid->draw( 250., 250., "Hello, World!" );
|
||||
|
||||
glTranslatef( 254.f - ( bbox.x_max_ + bbox.x_min_ ) / 2.f, 255.f, 0.f );
|
||||
|
||||
glBegin( GL_QUAD_STRIP );
|
||||
|
||||
glColor3f( 0., 0., 1. );
|
||||
|
||||
for ( int i=0; i<=52; i++ ) {
|
||||
float x = i * ( bbox.x_max_ - bbox.x_min_ ) / 52;
|
||||
|
||||
glNormal3f( ocean_vertices[(i+offset)%53].nx,
|
||||
ocean_vertices[(i+offset)%53].ny,
|
||||
0 );
|
||||
|
||||
glVertex3f( x, ocean_vertices[(i+offset)%53].y, -100. );
|
||||
glVertex3f( x, ocean_vertices[(i+offset)%53].y, 100. );
|
||||
}
|
||||
|
||||
offset = offset < 48 ? offset+4 : 0;
|
||||
|
||||
glEnd();
|
||||
|
||||
glPopMatrix();
|
||||
glutSwapBuffers();
|
||||
}
|
||||
|
||||
static void reshape ( int width, int height )
|
||||
{
|
||||
glViewport( 0, 0, width, height );
|
||||
glMatrixMode( GL_PROJECTION );
|
||||
glLoadIdentity();
|
||||
glOrtho( 0, width, 0, height, -200, 200 );
|
||||
|
||||
glMatrixMode( GL_MODELVIEW );
|
||||
glLoadIdentity();
|
||||
|
||||
// Rotate the model slightly out of the XY plane so it looks 3D
|
||||
// (note we rotate the model instead of the view so that the lighting
|
||||
// is fixed relative to the view instead of the model)
|
||||
|
||||
glTranslatef( width/2.f, height/2.f, 0.f );
|
||||
glRotatef( 25.f, 1.f, 0.f, 0.f );
|
||||
glRotatef( 25.f, 0.f, 1.f, 0.f );
|
||||
glTranslatef( -width/2.f, -height/2.f, 0. );
|
||||
}
|
||||
|
||||
static void idle ( void )
|
||||
{
|
||||
// Use the STL rotate algorithm to animate the transformation display lists.
|
||||
// First, rotate the lists containing the relative displacements
|
||||
|
||||
OGLFT::DLI first = solid->characterDisplayLists().begin()+1;
|
||||
OGLFT::DLI next = first + 1;
|
||||
OGLFT::DLI last = first + 13;
|
||||
|
||||
rotate( first, next, last );
|
||||
|
||||
// Next, rotate the the lists containing the absolute displacements
|
||||
|
||||
first = solid->characterDisplayLists().begin() + 13 + 1;
|
||||
next = first + 1;
|
||||
last = first + 13;
|
||||
|
||||
rotate( first, next, last );
|
||||
|
||||
// Finally, copy the current absolute displacement into the leading element
|
||||
|
||||
solid->characterDisplayLists()[0] = solid->characterDisplayLists()[13+1];
|
||||
|
||||
glutPostRedisplay();
|
||||
#if !defined(WIN32)
|
||||
// Too fast even without acceleration
|
||||
struct timespec request = { 0, 80000000 };
|
||||
nanosleep( &request, 0 );
|
||||
#else
|
||||
Sleep( 800 );
|
||||
#endif
|
||||
}
|
||||
|
||||
static void key ( unsigned char c, int /*x*/, int /*y*/ )
|
||||
{
|
||||
switch ( c ) {
|
||||
case 'q':
|
||||
case 27:
|
||||
exit( 0 );
|
||||
}
|
||||
}
|
||||
|
||||
int main ( int argc, char* argv[] )
|
||||
{
|
||||
// Check to be sure the user specified something as a font file name
|
||||
|
||||
if ( argc != 2 ) {
|
||||
std::cerr << "usage: " << argv[0] << " fontfile" << std::endl;
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Standard GLUT setup commands
|
||||
|
||||
glutInit( &argc, argv );
|
||||
glutInitWindowSize( 500, 500 );
|
||||
glutInitDisplayMode( GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE );
|
||||
glutCreateWindow( argv[0] );
|
||||
|
||||
init( argv[1] );
|
||||
|
||||
glutReshapeFunc( reshape );
|
||||
glutDisplayFunc( display );
|
||||
glutKeyboardFunc( key );
|
||||
|
||||
glutIdleFunc( idle );
|
||||
|
||||
glutMainLoop();
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,99 @@
|
||||
/* -*- c++ -*-
|
||||
* speedtest.h: Header for Performance test for the OGLFT library
|
||||
* Copyright (C) 2002 lignum Computing, Inc. <oglft@lignumcomputing.com>
|
||||
* $Id$
|
||||
*
|
||||
* 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
|
||||
*/
|
||||
#ifndef VIGNETTE_H
|
||||
#define VIGNETTE_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
#if OGLFT_QT_VERSION == 3
|
||||
#include <qgl.h>
|
||||
#include <qqueue.h>
|
||||
#include <qtimer.h>
|
||||
#elif OGLFT_QT_VERSION == 4
|
||||
#include <QGLWidget>
|
||||
#include <QQueue>
|
||||
#include <QTimer>
|
||||
#include <QKeyEvent>
|
||||
#endif
|
||||
|
||||
// Little animation vignettes. The function calls essentially follow
|
||||
// those of the Qt OpenGL widget and are called at the corresponding times.
|
||||
|
||||
struct Vignette {
|
||||
virtual ~Vignette ( void ) {}
|
||||
virtual unsigned int frame_count ( void ) = 0;
|
||||
virtual unsigned int frame_rate ( void ) = 0;
|
||||
virtual void init ( void ) = 0;
|
||||
virtual void view ( GLdouble /*left*/, GLdouble /*right*/,
|
||||
GLdouble /*bottom*/, GLdouble /*top*/ )
|
||||
{}
|
||||
virtual void reset ( void )
|
||||
{}
|
||||
virtual bool input ( QKeyEvent* e )
|
||||
{
|
||||
if ( e->key() == Qt::Key_Escape ) exit( 0 );
|
||||
return false;
|
||||
}
|
||||
virtual void draw ( unsigned int frame_number ) = 0;
|
||||
virtual void finish ( void ) = 0;
|
||||
};
|
||||
|
||||
// Yet another OpenGL view widget.
|
||||
|
||||
class CharacterView : public QGLWidget {
|
||||
Q_OBJECT
|
||||
GLsizei window_width_, window_height_;
|
||||
GLdouble view_width_, view_height_;
|
||||
GLdouble view_left_, view_right_, view_bottom_, view_top_;
|
||||
|
||||
bool flank_speed_;
|
||||
QTimer redraw_timer_;
|
||||
QTimer performance_timer_;
|
||||
|
||||
unsigned int frame_counter_;
|
||||
unsigned int counter_snapshot_;
|
||||
unsigned int animation_frame_count_;
|
||||
unsigned int animation_frame_rate_;
|
||||
unsigned int animation_frame_counter_;
|
||||
|
||||
static const unsigned int PERFORMANCE_SAMPLE_RATE_HZ = 1;
|
||||
#if OGLFT_QT_VERSION == 3
|
||||
QQueue<Vignette> vignettes;
|
||||
#elif OGLFT_QT_VERSION == 4
|
||||
QQueue<Vignette*> vignettes;
|
||||
#endif
|
||||
|
||||
protected slots:
|
||||
void redraw ( void );
|
||||
void measure_performance ( void );
|
||||
|
||||
public:
|
||||
CharacterView ( bool flank_speed, const char* fontfile,
|
||||
QWidget* parent = 0, const char* name = 0 );
|
||||
protected:
|
||||
|
||||
void initializeGL ( void );
|
||||
void resizeGL ( int w, int h );
|
||||
void paintGL ( void );
|
||||
void keyPressEvent ( QKeyEvent* e );
|
||||
void resetView ( void );
|
||||
};
|
||||
|
||||
#endif /* VIGNETTE_H */
|
||||