aboutsummaryrefslogtreecommitdiffstats
path: root/gb_gl.h
diff options
context:
space:
mode:
authorGravatar gingerBill 2016-04-26 20:28:33 +0100
committerGravatar gingerBill 2016-04-26 20:28:33 +0100
commit0947bc1a50a81e38d0b6f042ab5be349cc6bb7ff (patch)
tree994b133de7b9637c1b7742e40cc4f58e021864a1 /gb_gl.h
parentBasic Font Rendering - No Spaces yet (diff)
Handle Spaces now!!!!
Diffstat (limited to '')
-rw-r--r--gb_gl.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/gb_gl.h b/gb_gl.h
index f21e541..62de418 100644
--- a/gb_gl.h
+++ b/gb_gl.h
@@ -551,7 +551,12 @@ GBGL_DEF f32 gbgl_get_string_width (gbglFont *font
#endif
#ifndef GBGL_FONT_CHAR_LIST
-#define GBGL_FONT_CHAR_LIST "Āā㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľŁłŃńŅņņŇňʼnŊŋŌōōŎŏŐőŒœŕŖŗŘřŚśŜŝŞşŠšŢţŤťŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽža!ö\"#$%%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~Šš?ŒœŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõøùúûüýþÿ®™"
+#define GBGL_FONT_CHAR_LIST \
+ "Āā㥹ĆćĈĉĊċČčĎďĐđĒēĔĕĖėĘęĚěĜĝĞğĠġĢģĤĥĨĩĪīĬĭĮįİıIJijĴĵĶķĸĹĺĻļĽľŁłŃńŅņņŇňʼnŊŋ"\
+ "ŌōōŎŏŐőŒœŕŖŗŘřŚśŜŝŞşŠšŢţŤťŨũŪūŬŭŮůŰűŲųŴŵŶŷŸŹźŻżŽža!ö"\
+ "\"#$%%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"\
+ "Šš?ŒœŸÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõøùúûüýþÿ®™"\
+ " \t\r\n"
#endif
#ifndef GBGL_PT_TO_PX_SCALE
@@ -2203,20 +2208,24 @@ gbgl_bs_draw_substring(gbglBasicState *bs, gbglFont *font, i32 x, i32 y, gbColou
if (ptr - str > len)
break;
+ if (cp == '\t') {
+ draw_this_glyph_count = GBGL_TAB_CHARACTER_WIDTH;
+ cp = ' '; // TODO(bill): Set tab to be space
+ }
+
+
gi = gbgl_get_glyph_info(font, cp, &curr_index);
if (!gi) {
gi = gbgl_get_glyph_info(font, ' ', &curr_index);
}
- if (cp == '\t')
- draw_this_glyph_count = GBGL_TAB_CHARACTER_WIDTH;
-
if (gi) {
for (j = 0; j < draw_this_glyph_count; j++) {
f32 s0, t0, s1, t1;
f32 x0, y0, x1, y1;
f32 kern = 0.0f;
+
if (cp == '\r' || cp == '\n' ||
(max_width > 0 && px - ox + gi->xadv >= max_width32)) {
px = ox;