// Copyright (C) 2000-2007, Luca Padovani . // // This file is part of GtkMathView, a flexible, high-quality rendering // engine for MathML documents. // // GtkMathView is free software; you can redistribute it and/or modify it // under the terms of the GNU Lesser General Public License as published // by the Free Software Foundation; either version 3 of the License, or // (at your option) any later version. // // GtkMathView is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see . #ifndef __Char_hh__ #define __Char_hh__ typedef char Char; #if 1 == @CHAR_UNSIGNED@ #define GTKMATHVIEW_CHAR_UNSIGNED 1 #endif #if 1 == @GTKMATHVIEW_SIZEOF_CHAR@ typedef char Char8; #ifdef GTKMATHVIEW_CHAR_UNSIGNED typedef char UChar8; #else typedef unsigned char UChar8; #endif #define CHAR8 1 #else #error "could not define type Char8" #endif #if 2 == @GTKMATHVIEW_SIZEOF_CHAR@ typedef char Char16; #define CHAR16 1 #elif 2 == @GTKMATHVIEW_SIZEOF_WCHAR_T@ typedef wchar_t Char16; #else #if 2 == @GTKMATHVIEW_SIZEOF_SHORT@ typedef unsigned short Char16; #elif 2 == @GTKMATHVIEW_SIZEOF_INT@ typedef unsigned int Char16; #elif 2 == @GTKMATHVIEW_SIZEOF_LONG@ typedef unsigned long Char16; #else #error "could not define type Char16" #endif #endif #if 4 == @GTKMATHVIEW_SIZEOF_CHAR@ typedef char Char32; #define CHAR32 1 #elif 4 == @GTKMATHVIEW_SIZEOF_WCHAR_T@ typedef wchar_t Char32; #else #if 4 == @GTKMATHVIEW_SIZEOF_INT@ typedef unsigned int Char32; #elif 4 == @GTKMATHVIEW_SIZEOF_LONG@ typedef unsigned long Char32; #elif 4 == @GTKMATHVIEW_SIZEOF_LONG_LONG@ typedef unsigned long long Char32; #else #error "could not define type Char32" #endif #endif #endif // __Char_hh__