X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/puzzles/blobdiff_plain/fa3abef5abe95dd9668a87b1cc57a724dcbf6354..b760b8bdf1ff5b603e3076c8e21cf246d08937f7:/osx.m diff --git a/osx.m b/osx.m index 33031e3..4c3b132 100644 --- a/osx.m +++ b/osx.m @@ -77,6 +77,8 @@ * recreate it. */ +#define COMBINED /* we put all the puzzles in one binary in this port */ + #include #include #import @@ -1342,7 +1344,8 @@ static void osx_draw_text(void *handle, int x, int y, int fonttype, int fontsize, int align, int colour, char *text) { frontend *fe = (frontend *)handle; - NSString *string = [NSString stringWithCString:text]; + NSString *string = [NSString stringWithCString:text + encoding:NSUTF8StringEncoding]; NSDictionary *attr; NSFont *font; NSSize size; @@ -1376,6 +1379,15 @@ static void osx_draw_text(void *handle, int x, int y, int fonttype, [string drawAtPoint:point withAttributes:attr]; } +static char *osx_text_fallback(void *handle, const char *const *strings, + int nstrings) +{ + /* + * We assume OS X can cope with any UTF-8 likely to be emitted + * by a puzzle. + */ + return dupstr(strings[0]); +} struct blitter { int w, h; int x, y; @@ -1476,7 +1488,8 @@ const struct drawing_api osx_drawing = { osx_blitter_save, osx_blitter_load, NULL, NULL, NULL, NULL, NULL, NULL, /* {begin,end}_{doc,page,puzzle} */ - NULL, /* line_width */ + NULL, NULL, /* line_width, line_dotted */ + osx_text_fallback, }; void deactivate_timer(frontend *fe)