public void checkin(char ch) {
        ArrayList<Point> ps = points.get(Character.toString(ch));
        ArrayList<Integer> se = seps.get(Character.toString(ch));
        if (false) {
	        System.out.println("size = " + points.size());
	        System.out.println("size = " + seps.size());
	        System.out.println(ps);
	        System.out.println(se);
        }
        if (ps != null && se != null) {
        	clearStrokes();
        	for (int i = 0; i < ps.size(); i++) {
        		if ((i + 1) == ps.size()) {
        			endStroke(
	        				ch,
	        				(int)(ps.get(i).x / 1000.f * 300), 
	        				(int)(ps.get(i).y / 1000.f * 300), true);         			
        		} else if (se.contains(i + 1)) {
        			endStroke(
            				ch,
            				(int)(ps.get(i).x / 1000.f * 300), 
            				(int)(ps.get(i).y / 1000.f * 300), false);        			
        		} else if (se.contains(i)) {
        			startStroke(
        				(int)(ps.get(i).x / 1000.f * 300), 
        				(int)(ps.get(i).y / 1000.f * 300));
        		} else {
        			addPoint(
        				(int)(ps.get(i).x / 1000.f * 300), 
        				(int)(ps.get(i).y / 1000.f * 300));
        		}
        	}
        }
	}