private void drawChar(byte text[], int x, int y, int width, int height, int color, int opacity) {
		int newOffset = x + y * DrawingArea.width;
		int place1 = DrawingArea.width - width;
		int place2 = 0;
		int oldOffset = 0;
		if (y < DrawingArea.topY) {
			int Height2 = DrawingArea.topY - y;
			height -= Height2;
			y = DrawingArea.topY;
			oldOffset += Height2 * width;
			newOffset += Height2 * DrawingArea.width;
		}
		if (y + height >= DrawingArea.bottomY) {
			height -= ((y + height) - DrawingArea.bottomY);
		}
		if (x < DrawingArea.topX) {
			int toLeft = DrawingArea.topX - x;
			width -= toLeft;
			x = DrawingArea.topX;
			oldOffset += toLeft;
			newOffset += toLeft;
			place2 += toLeft;
			place1 += toLeft;
		}
		if (x + width >= DrawingArea.bottomX) {
			int toRight = ((x + width) - DrawingArea.bottomX);
			width -= toRight;
			place2 += toRight;
			place1 += toRight;
		}
		if ((width <= 0) || (height <= 0)) {
			return;
		}
		setPixelsInfo(width, height, opacity, DrawingArea.pixels, text, newOffset, oldOffset, place1, place2, color);
	}