diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 9f6a685..f1f12fe 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -103,15 +103,18 @@ add_custom_command( ${CMAKE_CURRENT_BINARY_DIR}/generated/bitmapfont.table.h ${CMAKE_CURRENT_SOURCE_DIR}/fonts/unifont-8.0.01.hex.gz ${chars} - DEPENDS unifont2c ${chars} + DEPENDS unifont2c + ${CMAKE_CURRENT_SOURCE_DIR}/fonts/unifont-8.0.01.hex.gz + ${chars} VERBATIM) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/vectorfont.table.h COMMAND $ - "${CMAKE_CURRENT_BINARY_DIR}/generated/vectorfont.table.h" - "${CMAKE_CURRENT_SOURCE_DIR}/fonts/unicode.lff.gz" - DEPENDS lff2c ${chars} + ${CMAKE_CURRENT_BINARY_DIR}/generated/vectorfont.table.h + ${CMAKE_CURRENT_SOURCE_DIR}/fonts/unicode.lff.gz + DEPENDS lff2c + ${CMAKE_CURRENT_SOURCE_DIR}/fonts/unicode.lff.gz VERBATIM) set(generated_HEADERS diff --git a/src/fonts/unicode.lff.gz b/src/fonts/unicode.lff.gz index 98153b1..dc0d3a3 100644 Binary files a/src/fonts/unicode.lff.gz and b/src/fonts/unicode.lff.gz differ diff --git a/src/glhelper.cpp b/src/glhelper.cpp index ce2e9f8..876bbed 100644 --- a/src/glhelper.cpp +++ b/src/glhelper.cpp @@ -625,7 +625,8 @@ void ssglInitializeBitmapFont() int ssglBitmapCharWidth(char32_t chr) { if(!CodepointProperties[chr].exists) - oops(); + chr = 0xfffd; // replacement character + return CodepointProperties[chr].isWide ? 2 : 1; } @@ -633,6 +634,9 @@ void ssglBitmapCharQuad(char32_t chr, double x, double y) { int w, h; + if(!CodepointProperties[chr].exists) + chr = 0xfffd; // replacement character + h = 16; if(chr >= 0xe000 && chr <= 0xefff) { // Special character, like a checkbox or a radio button