int font_bitmap_id = gfx.select_font_function(font_nr);
struct FontBitmapInfo *font = &gfx.font_bitmap_info[font_bitmap_id];
int font_pos = getFontCharPosition(font_nr, c);
+ int offset_x = (font->offset_x != 0 ? font->offset_x : font->width);
+ int offset_y = (font->offset_y != 0 ? font->offset_y : font->height);
*bitmap = font->bitmap;
- *x = font->src_x + (font_pos % font->num_chars_per_line) * font->offset_x;
- *y = font->src_y + (font_pos / font->num_chars_per_line) * font->offset_y;
+ *x = font->src_x + (font_pos % font->num_chars_per_line) * offset_x;
+ *y = font->src_y + (font_pos / font->num_chars_per_line) * offset_y;
}
/* text string helper functions */
/* ========================================================================= */
-int maxWordLengthInString(char *text)
+int maxWordLengthInRequestString(char *text)
{
char *text_ptr;
int word_len = 0, max_word_len = 0;
for (text_ptr = text; *text_ptr; text_ptr++)
{
- word_len = (*text_ptr != ' ' ? word_len + 1 : 0);
+ word_len = (*text_ptr != ' ' &&
+ *text_ptr != '?' &&
+ *text_ptr != '!' ? word_len + 1 : 0);
max_word_len = MAX(word_len, max_word_len);
}