package org.bbaw.wsp.cms.dochandler.parser.document;
/**
* This class provides UNICODE char codes for special characters.
* @author Sascha Feldmann (wsp-shk1)
*
*/
public class CharCodeManager {
/*
* UNICODE-Block Superscripts and Subscripts
*/
public static final char SUPERSCRIPT_ZERO = 2070;
public static final char SUPERSCRIPT_FOUR = 0x2074;
public static final char SUPERSCRIPT_FIVE = 0x2075;
public static final char SUPERSCRIPT_SIX = 0x2076;
public static final char SUPERSCRIPT_SEVEN = 0x2077;
public static final char SUPERSCRIPT_EIGHT = 0x2078;
public static final char SUPERSCRIPT_NINE = 0x2079;
/*
* UNICODE-Block Latin-1 Supplement
*/
public static final char LATIN1_SUPERSCRIPT_ONE = 0x00B9;
public static final char LATIN1_SUPERSCRIPT_TWO = 0x00B2;
public static final char LATIN1_SUPERSCRIPT_THREE = 0x00B3;
/**
* Return the superscript String for an input number which is not superscripted.
* If the number is greater than 9, the method will generate a string which consists of many single characters.
* example: input 2 -> returns 2 superscripted (UNICODE)
* @param number the input char, a number as integer
* @return the String containing the superscripted character. May be empty if the number is not valid.
*/
public static String returnNumberSuperscript(final int number) {
switch (number) {
case 0:
return ""+SUPERSCRIPT_ZERO;
case 1:
return ""+LATIN1_SUPERSCRIPT_ONE;
case 2:
return ""+LATIN1_SUPERSCRIPT_TWO;
case 3:
return ""+LATIN1_SUPERSCRIPT_THREE;
case 4:
return ""+SUPERSCRIPT_FOUR;
case 5:
return ""+SUPERSCRIPT_FIVE;
case 6:
return ""+SUPERSCRIPT_SIX;
case 7:
return ""+SUPERSCRIPT_SEVEN;
case 8:
return ""+SUPERSCRIPT_EIGHT;
case 9:
return ""+SUPERSCRIPT_NINE;
default:
if(number >= 10) {
final int einer = number % 10;
final int zehner = number / 10;
return returnNumberSuperscript(zehner)+returnNumberSuperscript(einer);
}
return "";
}
}
}