diff -ur old/Makefile.osx src/Makefile.osx --- old/Makefile.osx Tue Jun 7 11:50:27 2005 +++ src/Makefile.osx Tue Jun 7 11:52:40 2005 @@ -37,7 +37,7 @@ wizard1.c wizard2.c obj-info.c \ generate.c dungeon.c init1.c init2.c randart.c \ main-crb.c \ - use-obj.c quest.c + use-obj.c quest.c japanese.c OBJS = \ @@ -51,10 +51,10 @@ wizard1.o wizard2.o obj-info.o \ generate.o dungeon.o init1.o init2.o randart.o \ main-crb.o \ - use-obj.o quest.o + use-obj.o quest.o japanese.o CFLAGS = \ - -Wall -O2 -fpascal-strings -DMACH_O_CARBON + -Wall -O2 -fpascal-strings -DMACH_O_CARBON -DJP -DEUC LIBS = -framework CoreFoundation -framework QuickTime -framework Carbon # @@ -204,5 +204,6 @@ z-term.o: z-term.c $(HDRS) z-term.h z-virt.h z-util.o: z-util.c $(HDRS) z-util.h z-virt.o: z-virt.c $(HDRS) z-virt.h z-util.h +japanese.o: japanese.c $(INCS) japanese.h diff -ur old/main-crb.c src/main-crb.c --- old/main-crb.c Tue Jun 7 11:50:27 2005 +++ src/main-crb.c Fri Jun 10 11:15:45 2005 @@ -2931,10 +2931,36 @@ MoveTo(xp, yp); /* Draw the character */ +#if defined(JP) && defined(EUC) + { + int i; + + for (i = 0; i < n; i++) + { + if (iskanji(cp[i])) + { + char kanji[] = "¡¡"; + + strncpy(kanji, cp+i, 2); + + /* Convert EUC to SJIS */ + codeconv_euc2sjis(kanji); + + /* Draw the character */ + DrawText(kanji, 0, 2); + + i++; + } + else DrawChar(cp[i]); + } + } +#else + /* Draw the character */ if (n == 1) DrawChar(*cp); /* Draw the string */ - else DrawText(cp, 0, n); + DrawText(cp, 0, n); +#endif #ifdef CLIP_HACK /* Obtain current window's rect */ @@ -3175,6 +3201,30 @@ /* Move to the correct location */ MoveTo(xp, yp); +#ifdef JP + if (iskanji(c)) + { +#ifdef EUC + { + char kanji[] = "¡¡"; + + strncpy(kanji, cp+i, 2); + + /* Convert EUC to SJIS */ + codeconv_euc2sjis(kanji); + + /* Draw the character */ + DrawText(kanji, 0, 2); + } +#else + /* Draw the character */ + DrawText(cp, i, 2); +#endif + + i++; + } + else +#endif /* Draw the character */ DrawChar(c); @@ -3642,7 +3692,13 @@ short fid; /* Default to Monaco font */ +#ifdef JP + /* Default to Osaka font (Japanese) */ + GetFNum( "\pOsaka¡ÝÅùÉý", &fid); + SetFScaleDisable( true ); +#else GetFNum("\pmonaco", &fid); +#endif /* Wipe it */ WIPE(td, term_data); Only in src/: obj-68k Only in src/: obj-mpw Only in src/: obj-ppc