Skip to content

Commit 30b9a4d

Browse files
Ilya ZhuravlevPilzAdam
Ilya Zhuravlev
authored andcommittedFeb 14, 2013
Add Freetype support
1 parent df3c925 commit 30b9a4d

23 files changed

+7271
-16
lines changed
 

‎.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,10 @@ src/jthread/cmake_install.cmake
3636
src/jthread/libjthread.a
3737
src/lua/build/
3838
src/lua/CMakeFiles/
39+
src/cguittfont/CMakeFiles/
40+
src/cguittfont/libcguittfont.a
41+
src/cguittfont/cmake_install.cmake
42+
src/cguittfont/Makefile
3943
CMakeCache.txt
4044
CPackConfig.cmake
4145
CPackSourceConfig.cmake

‎CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,8 @@ if(RUN_IN_PLACE)
148148
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/textures/all/textures_here.txt" DESTINATION "${SHAREDIR}/textures/all")
149149
endif()
150150

151+
install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/fonts" DESTINATION "${SHAREDIR}")
152+
151153
install(FILES "README.txt" DESTINATION "${DOCDIR}")
152154
install(FILES "doc/lua_api.txt" DESTINATION "${DOCDIR}")
153155
install(FILES "doc/mapformat.txt" DESTINATION "${DOCDIR}")

‎README.txt

+4
Original file line numberDiff line numberDiff line change
@@ -372,4 +372,8 @@ DejaVu Sans Mono:
372372

373373
Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved.
374374

375+
Liberation Fonts Copyright:
376+
377+
Copyright (c) 2007 Red Hat, Inc. All rights reserved. LIBERATION is a trademark of Red Hat, Inc.
378+
375379

‎fonts/liberationmono.ttf

326 KB
Binary file not shown.

‎fonts/liberationsans.ttf

131 KB
Binary file not shown.

‎minetest.conf.example

+5
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,11 @@
163163
# File in client/serverlist/ that contains your favorite servers displayed in the Multiplayer Tab
164164
#serverlist_file = favoriteservers.txt
165165

166+
#font_path = fonts/liberationsans.ttf
167+
#font_size = 13
168+
#mono_font_path = fonts/liberationmono.ttf
169+
#mono_font_size = 13
170+
166171
#
167172
# Server stuff
168173
#

‎src/CMakeLists.txt

+45
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,12 @@ if(USE_SOUND)
9393
)
9494
endif()
9595

96+
option(ENABLE_FREETYPE "Enable freetype2 (truetype fonts and basic unicode support)" OFF)
97+
set(USE_FREETYPE 0)
98+
if(ENABLE_FREETYPE)
99+
set(USE_FREETYPE 1)
100+
endif(ENABLE_FREETYPE)
101+
96102
if(NOT MSVC)
97103
set(USE_GPROF 0 CACHE BOOL "Use -pg flag for g++")
98104
endif()
@@ -117,6 +123,14 @@ if(WIN32)
117123
CACHE FILEPATH "Path to zlibwapi.dll (for installation)")
118124
set(IRRLICHT_SOURCE_DIR "${PROJECT_SOURCE_DIR}/../../irrlicht-1.7.2"
119125
CACHE PATH "irrlicht dir")
126+
if(USE_FREETYPE)
127+
set(FREETYPE_INCLUDE_DIR_ft2build "${PROJECT_SOURCE_DIR}/../../freetype2/include/"
128+
CACHE PATH "freetype include dir")
129+
set(FREETYPE_INCLUDE_DIR_freetype2 "${PROJECT_SOURCE_DIR}/../../freetype2/include/freetype"
130+
CACHE PATH "freetype include dir")
131+
set(FREETYPE_LIBRARY "${PROJECT_SOURCE_DIR}/../../freetype2/objs/win32/vc2005/freetype247.lib"
132+
CACHE FILEPATH "Path to freetype247.lib")
133+
endif(USE_FREETYPE)
120134
set(MINGWM10_DLL ""
121135
CACHE FILEPATH "Path to mingwm10.dll (for installation)")
122136
if(ENABLE_SOUND)
@@ -157,6 +171,12 @@ endif()
157171
find_package(Jthread REQUIRED)
158172
find_package(Sqlite3 REQUIRED)
159173

174+
if(USE_FREETYPE)
175+
find_package(Freetype REQUIRED)
176+
set(CGUITTFONT_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/cguittfont")
177+
set(CGUITTFONT_LIBRARY cguittfont)
178+
endif(USE_FREETYPE)
179+
160180
# Do not use system-wide installation of Lua, because it'll likely be a
161181
# different version and/or has different build options.
162182
set(LUA_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/lua/src")
@@ -288,6 +308,13 @@ set(minetest_SRCS
288308
main.cpp
289309
)
290310

311+
if(USE_FREETYPE)
312+
set(minetest_SRCS
313+
${minetest_SRCS}
314+
intlGUIEditBox.cpp
315+
)
316+
endif(USE_FREETYPE)
317+
291318
# Server sources
292319
set(minetestserver_SRCS
293320
${common_SRCS}
@@ -307,6 +334,13 @@ include_directories(
307334
${LUA_INCLUDE_DIR}
308335
)
309336

337+
if(USE_FREETYPE)
338+
include_directories(
339+
${FREETYPE_INCLUDE_DIRS}
340+
${CGUITTFONT_INCLUDE_DIR}
341+
)
342+
endif(USE_FREETYPE)
343+
310344
set(EXECUTABLE_OUTPUT_PATH "${CMAKE_SOURCE_DIR}/bin")
311345

312346
if(BUILD_CLIENT)
@@ -338,6 +372,13 @@ if(BUILD_CLIENT)
338372
${CURL_INCLUDE_DIR}
339373
)
340374
endif(USE_CURL)
375+
if(USE_FREETYPE)
376+
target_link_libraries(
377+
${PROJECT_NAME}
378+
${FREETYPE_LIBRARY}
379+
${CGUITTFONT_LIBRARY}
380+
)
381+
endif(USE_FREETYPE)
341382
endif(BUILD_CLIENT)
342383

343384
if(BUILD_SERVER)
@@ -519,6 +560,10 @@ else (SQLITE3_FOUND)
519560
add_subdirectory(sqlite)
520561
endif (SQLITE3_FOUND)
521562

563+
if (BUILD_CLIENT AND USE_FREETYPE)
564+
add_subdirectory(cguittfont)
565+
endif (BUILD_CLIENT AND USE_FREETYPE)
566+
522567
if (LUA_FOUND)
523568
else (LUA_FOUND)
524569
add_subdirectory(lua)

0 commit comments

Comments
 (0)
Please sign in to comment.