[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