1 /************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27 28 #include "strimp.h" 29 30 sal_Int16 rtl_ImplGetDigit( sal_Unicode ch, sal_Int16 nRadix ) 31 { 32 sal_Int16 n = -1; 33 if ( (ch >= '0') && (ch <= '9') ) 34 n = ch-'0'; 35 else if ( (ch >= 'a') && (ch <= 'z') ) 36 n = ch-'a'+10; 37 else if ( (ch >= 'A') && (ch <= 'Z') ) 38 n = ch-'A'+10; 39 return (n < nRadix) ? n : -1; 40 } 41 42 sal_Bool rtl_ImplIsWhitespace( sal_Unicode c ) 43 { 44 /* Space or Control character? */ 45 if ( (c <= 32) && c ) 46 return sal_True; 47 48 /* Only in the General Punctuation area Space or Control characters are included? */ 49 if ( (c < 0x2000) || (c > 0x206F) ) 50 return sal_False; 51 52 if ( ((c >= 0x2000) && (c <= 0x200B)) || /* All Spaces */ 53 (c == 0x2028) || /* LINE SEPARATOR */ 54 (c == 0x2029) ) /* PARAGRAPH SEPARATOR */ 55 return sal_True; 56 57 return sal_False; 58 } 59