0029352: Adding support of GBK and Big5 code pages
[occt.git] / src / Resource / Resource_ConvertUnicode.c
old mode 100755 (executable)
new mode 100644 (file)
index 21bfab6..0285139
@@ -1,22 +1,17 @@
 /*
  Copyright (c) 1998-1999 Matra Datavision
- Copyright (c) 1999-2012 OPEN CASCADE SAS
+ Copyright (c) 1999-2014 OPEN CASCADE SAS
 
- The content of this file is subject to the Open CASCADE Technology Public
- License Version 6.5 (the "License"). You may not use the content of this file
- except in compliance with the License. Please obtain a copy of the License
- at http://www.opencascade.org and read it completely before using this file.
+ This file is part of Open CASCADE Technology software library.
 
- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-
- The Original Code and all software distributed under the License is
- distributed on an "AS IS" basis, without warranty of any kind, and the
- Initial Developer hereby disclaims all such warranties, including without
- limitation, any warranties of merchantability, fitness for a particular
- purpose or non-infringement. Please see the License for the specific terms
- and conditions governing the rights and limitations under the License.
+ This library is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License version 2.1 as published
+ by the Free Software Foundation, with special exception defined in the file
+ OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
+ distribution for complete text of the license and disclaimer of any warranty.
 
+ Alternatively, this file may be used under the terms of Open CASCADE
+ commercial license or contractual agreement.
 */
 
 #include <stdio.h>
@@ -26,7 +21,7 @@
 typedef unsigned short char16 ;
 
 #include <Resource_Shiftjis.h>
-#include <Resource_gb2312.h>
+#include <Resource_GB2312.h>
 
 #define isjis(c) (((c)>=0x21 && (c)<=0x7e))
 #define iseuc(c) (((c)>=0xa1 && (c)<=0xfe))
@@ -139,7 +134,7 @@ void Resource_sjis_to_unicode (unsigned int *ph, unsigned int *pl)
     return ;
   }
 
-  sjis = ((*ph) << 8) | (*pl) ;
+  sjis = (char16)(((*ph) << 8) | (*pl)) ;
   uni  = sjisuni [sjis] ;
   *ph = uni >> 8 ;
   *pl = uni & 0xFF ;
@@ -158,7 +153,7 @@ void Resource_unicode_to_sjis (unsigned int *ph, unsigned int *pl)
   if ( *ph == 0 && *pl == 0 )
     return ;
 
-  uni  = ((*ph) << 8) | (*pl) ;
+  uni  = (char16)(((*ph) << 8) | (*pl)) ;
   sjis = unisjis [uni] ;
   *ph = sjis >> 8 ;
   *pl = sjis & 0xFF ;
@@ -213,7 +208,7 @@ void Resource_gb_to_unicode (unsigned int *ph, unsigned int *pl)
   *ph  = (*ph) & 0x7f ;
   *pl  = (*pl) & 0x7f ;
 
-  gb   = ((*ph) << 8) | (*pl) ;
+  gb   = (char16)(((*ph) << 8) | (*pl)) ;
   uni  = gbuni [gb] ;
   *ph  = uni >> 8 ;
   *pl  = uni & 0xFF ;
@@ -232,7 +227,7 @@ void Resource_unicode_to_gb (unsigned int *ph, unsigned int *pl)
   if ( *ph == 0 && *pl == 0 )
     return ;
 
-  uni  = ((*ph) << 8) | (*pl) ;
+  uni  = (char16)(((*ph) << 8) | (*pl));
   gb   = unigb [uni] ;
   if (gb != 0) {
     *ph  = ( gb >> 8   ) | 0x80 ;