[Scummvm-cvs-logs] SF.net SVN: scummvm:[46626] tools/branches/gsoc2009-gui/create_sjisfnt.cpp
sev at users.sourceforge.net
sev at users.sourceforge.net
Sun Dec 27 13:06:48 CET 2009
Revision: 46626
http://scummvm.svn.sourceforge.net/scummvm/?rev=46626&view=rev
Author: sev
Date: 2009-12-27 12:06:48 +0000 (Sun, 27 Dec 2009)
Log Message:
-----------
Fix create_sjisfnt
Modified Paths:
--------------
tools/branches/gsoc2009-gui/create_sjisfnt.cpp
Modified: tools/branches/gsoc2009-gui/create_sjisfnt.cpp
===================================================================
--- tools/branches/gsoc2009-gui/create_sjisfnt.cpp 2009-12-27 12:02:20 UTC (rev 46625)
+++ tools/branches/gsoc2009-gui/create_sjisfnt.cpp 2009-12-27 12:06:48 UTC (rev 46626)
@@ -27,6 +27,7 @@
#include <cstdlib>
#include <iconv.h>
#include <list>
+#include <cassert>
#include "common/endian.h"
#include "common/file.h"
@@ -265,6 +266,21 @@
namespace {
+bool isASCII(uint8 fB) {
+ return (mapASCIItoChunk(fB) != -1);
+}
+
+int mapASCIItoChunk(uint8 fB) {
+ // ASCII chars
+ if (fB <= 0x7F)
+ return fB;
+
+ // half-width katakana
+ if (fB >= 0xA1 && fB <= 0xDF)
+ return fB - 0x21;
+ return -1;
+}
+
int mapSJIStoChunk(uint8 fB, uint8 sB) {
// We only allow 2 byte SJIS characters.
if (fB <= 0x80 || fB >= 0xF0 || (fB >= 0xA0 && fB <= 0xDF) || sB == 0x7F)
@@ -321,7 +337,7 @@
size_t inBufSize = sizeof(inBuf);
size_t outBufSize = sizeof(outBuf);
- char *inBufWrap = inBuf;
+ const char *inBufWrap = inBuf;
char *outBufWrap = outBuf;
if (iconv(confSetup, &inBufWrap, &inBufSize, &outBufWrap, &outBufSize) == (size_t)-1)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list