aboutsummaryrefslogtreecommitdiff
path: root/simon/simon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simon/simon.cpp')
-rw-r--r--simon/simon.cpp28
1 files changed, 20 insertions, 8 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp
index 18a353dcf0..ad00b4e7ef 100644
--- a/simon/simon.cpp
+++ b/simon/simon.cpp
@@ -2676,15 +2676,27 @@ restart:;
// now process entire savegame name to get correct x offset for cursor
name_len = 0;
while (name[name_len]) {
- fcs->textLength++;
- fcs->textColumnOffset += 6;
- if (name[name_len] == 'i' || name[name_len] == 'l')
- fcs->textColumnOffset -= 2;
- if (fcs->textColumnOffset >= 8) {
- fcs->textColumnOffset -= 8;
- fcs->textColumn++;
+ if (_language == 20) {
+ byte width = 6;
+ if (name[name_len] >= 64 && name[name_len] < 91)
+ width = _hebrew_char_widths [name[name_len]-64];
+ fcs->textLength++;
+ fcs->textColumnOffset -= width;
+ if (fcs->textColumnOffset >= width) {
+ fcs->textColumnOffset += 8;
+ fcs->textColumn++;
+ }
+ } else {
+ fcs->textLength++;
+ fcs->textColumnOffset += 6;
+ if (name[name_len] == 'i' || name[name_len] == 'l')
+ fcs->textColumnOffset -= 2;
+ if (fcs->textColumnOffset >= 8) {
+ fcs->textColumnOffset -= 8;
+ fcs->textColumn++;
+ }
+ name_len++;
}
- name_len++;
}
// while_1_end