osd-contiki/core/ctk/ctk-vncfont.c

1203 lines
17 KiB
C

/*
* Copyright (c) 2003, Adam Dunkels.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
* 3. The name of the author may not be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
* OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This file is part of the Contiki VNC server
*
*
*/
#define _ 0x00
#define o 0x01 /* 1001 0010 */
#define X 0x02 /* 1111 0110 */
#ifdef __AVR__
#include <avr/pgmspace.h>
const unsigned char vncfont[] PROGMEM = {
#else
const unsigned char vncfont[] = {
#endif
/* char 0 */
X,o,_,_,_,_,
o,X,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 1 */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,X,X,o,_,_,
_,o,o,X,_,_,
o,X,X,X,_,_,
X,o,o,X,_,_,
o,X,X,X,_,_,
_,_,_,_,_,_,
/* char 2 */
X,_,_,_,_,_,
X,o,_,_,_,_,
X,X,X,o,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
X,X,X,o,_,_,
_,_,_,_,_,_,
/* char 3 */
_,_,_,_,_,_,
_,_,_,_,_,_,
o,X,X,o,_,_,
X,o,o,X,_,_,
X,_,_,o,_,_,
X,o,o,X,_,_,
o,X,X,o,_,_,
_,_,_,_,_,_,
/* char 4 */
_,_,_,X,_,_,
_,_,o,X,_,_,
o,X,X,X,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
o,X,X,X,_,_,
_,_,_,_,_,_,
/* char 5 */
_,_,_,_,_,_,
_,_,_,_,_,_,
o,X,X,o,_,_,
X,o,o,X,_,_,
X,X,X,X,_,_,
X,o,o,_,_,_,
o,X,X,_,_,_,
_,_,_,_,_,_,
/* char 6 */
_,o,X,X,_,_,
o,X,o,_,_,_,
X,X,X,_,_,_,
o,X,o,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,_,_,_,_,_,
/* char 7 */
_,_,_,_,_,_,
_,_,_,_,_,_,
o,X,X,X,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
o,X,X,X,_,_,
_,o,o,X,_,_,
/* char 8 */
X,_,_,_,_,_,
X,o,_,_,_,_,
X,X,X,o,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
_,_,_,_,_,_,
/* char 9 */
_,X,_,_,_,_,
_,o,_,_,_,_,
X,X,_,_,_,_,
o,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,_,_,_,_,_,
/* char 10 */
_,_,X,_,_,_,
_,_,o,_,_,_,
_,X,X,_,_,_,
_,o,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,o,X,_,_,_,
/* char 11 */
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,o,X,_,_,
X,o,X,o,_,_,
X,X,o,_,_,_,
X,o,X,o,_,_,
X,_,o,X,_,_,
_,_,_,_,_,_,
/* char 12 */
_,X,X,_,_,_,
_,o,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 13 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,o,X,o,
X,o,o,X,o,X,
X,_,_,X,_,X,
X,_,_,X,_,X,
X,_,_,X,_,X,
_,_,_,_,_,_,
/* char 14 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,o,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
_,_,_,_,_,_,
/* char 15 */
_,_,_,_,_,_,
_,_,_,_,_,_,
o,X,X,o,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
o,X,X,o,_,_,
_,_,_,_,_,_,
/* char 16 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,o,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
X,X,X,o,_,_,
X,o,_,_,_,_,
/* char 17 */
_,_,_,_,_,_,
_,_,_,_,_,_,
o,X,X,X,_,_,
X,o,o,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
o,X,X,X,_,_,
_,_,o,X,_,_,
/* char 18 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,o,X,X,_,_,
X,X,o,_,_,_,
X,o,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
/* char 19 */
_,_,_,_,_,_,
_,_,_,_,_,_,
o,X,X,X,_,_,
X,o,o,_,_,_,
o,X,X,o,_,_,
_,o,o,X,_,_,
X,X,X,o,_,_,
_,_,_,_,_,_,
/* char 20 */
_,_,X,_,_,_,
_,o,X,o,_,_,
_,X,X,X,_,_,
_,o,X,o,_,_,
_,_,X,_,_,_,
_,_,X,o,_,_,
_,_,o,X,_,_,
_,_,_,_,_,_,
/* char 21 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
o,X,X,X,_,_,
_,_,_,_,_,_,
/* char 22 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,o,_,o,X,_,
o,X,o,X,o,_,
_,X,o,X,_,_,
_,o,X,o,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 23 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,o,_,_,o,X,
o,X,o,X,o,X,
o,X,o,X,o,X,
_,o,X,o,X,o,
_,_,X,o,X,_,
_,_,_,_,_,_,
/* char 24 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,o,_,o,X,_,
o,X,o,X,o,_,
_,o,X,o,_,_,
o,X,o,X,o,_,
X,o,_,o,X,_,
_,_,_,_,_,_,
/* char 25 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
X,_,_,X,_,_,
X,o,o,X,_,_,
o,X,X,X,_,_,
_,o,o,X,_,_,
/* char 26 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,X,_,_,
_,o,X,o,_,_,
o,X,o,_,_,_,
X,o,_,_,_,_,
X,X,X,X,_,_,
_,_,_,_,_,_,
/* char 27 */
_,X,o,_,_,_,
_,X,_,_,_,_,
o,X,_,_,_,_,
X,o,_,_,_,_,
o,X,_,_,_,_,
_,X,_,_,_,_,
_,X,o,_,_,_,
_,o,X,_,_,_,
/* char 28 */
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
/* char 29 */
o,X,_,_,_,_,
_,X,_,_,_,_,
_,X,o,_,_,_,
_,o,X,_,_,_,
_,X,o,_,_,_,
_,X,_,_,_,_,
o,X,_,_,_,_,
X,o,_,_,_,_,
/* char 30 */
o,X,X,o,X,_,
X,o,X,X,o,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 31 */
_,X,X,_,_,_,
_,X,X,_,_,_,
_,X,X,_,_,_,
_,X,X,_,_,_,
_,X,X,_,_,_,
_,X,X,_,_,_,
_,X,X,_,_,_,
_,X,X,_,_,_,
/* char 32 */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 33 */
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,o,_,_,_,_,
_,X,_,_,_,_,
_,_,_,_,_,_,
/* char 34 */
X,o,X,_,_,_,
X,o,X,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 35 */
X,X,X,X,X,_,
o,X,o,X,o,_,
X,X,X,X,X,_,
o,X,o,X,o,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 36 */
o,X,X,X,o,_,
X,o,X,o,X,_,
X,o,X,o,_,_,
o,X,X,X,o,_,
_,o,X,o,X,_,
X,o,X,o,X,_,
o,X,X,X,o,_,
_,o,X,o,_,_,
/* char 37 */
o,X,X,X,X,X,
X,o,o,X,o,o,
X,o,o,X,o,X,
o,X,X,o,X,X,
_,_,o,X,X,o,
_,o,X,o,X,o,
o,X,o,_,o,X,
_,_,_,_,_,_,
/* char 38 */
_,X,o,o,X,_,
_,X,o,X,o,_,
_,o,X,o,_,_,
o,X,o,X,o,X,
X,o,_,o,X,o,
X,o,o,X,o,X,
o,X,X,o,_,_,
_,_,_,_,_,_,
/* char 39 */
X,_,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 40 */
o,X,o,_,_,_,
X,o,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,o,_,_,_,_,
o,X,o,_,_,_,
_,o,X,_,_,_,
/* char 41 */
o,X,o,_,_,_,
_,o,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,o,X,_,_,_,
o,X,o,_,_,_,
X,o,_,_,_,_,
/* char 42 */
_,X,o,X,_,_,
_,o,X,o,_,_,
X,X,X,X,X,_,
_,o,X,o,_,_,
_,X,o,X,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 43 */
_,_,X,_,_,_,
_,o,X,o,_,_,
X,X,X,X,X,_,
_,o,X,o,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 44 */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,X,_,_,_,_,
o,X,_,_,_,_,
/* char 45 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,X,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 46 */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 47 */
_,_,o,X,_,_,
_,_,X,o,_,_,
_,o,X,_,_,_,
_,X,o,_,_,_,
o,X,_,_,_,_,
X,o,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
/* char 48 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 49 */
_,o,X,_,_,_,
_,X,X,_,_,_,
_,o,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 50 */
o,X,X,X,o,_,
X,o,_,o,X,_,
_,_,_,o,X,_,
_,_,o,X,o,_,
_,o,X,o,_,_,
o,X,o,_,_,_,
X,X,X,X,X,_,
_,_,_,_,_,_,
/* char 51 */
X,X,X,X,X,_,
_,_,o,X,o,_,
_,o,X,o,_,_,
_,X,X,X,o,_,
_,_,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 52 */
_,_,o,X,_,_,
_,o,X,X,_,_,
o,X,o,X,_,_,
X,o,o,X,o,_,
X,X,X,X,X,_,
_,_,o,X,o,_,
_,_,_,X,_,_,
_,_,_,_,_,_,
/* char 53 */
X,X,X,X,X,_,
X,o,o,o,_,_,
X,X,X,X,o,_,
_,_,_,o,X,_,
_,_,_,_,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 54 */
_,o,X,X,_,_,
o,X,o,_,_,_,
X,o,_,_,_,_,
X,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 55 */
X,X,X,X,X,_,
_,_,_,o,X,_,
_,_,_,X,o,_,
_,_,o,X,_,_,
_,_,X,o,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 56 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 57 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,X,_,
_,_,_,o,X,_,
_,_,o,X,o,_,
_,X,X,o,_,_,
_,_,_,_,_,_,
/* char 58 */
_,_,_,_,_,_,
_,_,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
/* char 59 */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,X,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,X,_,_,_,_,
o,X,_,_,_,_,
/* char 60 */
_,_,_,_,_,_,
_,o,X,_,_,_,
o,X,o,_,_,_,
X,o,_,_,_,_,
o,X,o,_,_,_,
_,o,X,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 61 */
_,_,_,_,_,_,
X,X,X,X,X,_,
o,o,o,o,o,_,
X,X,X,X,X,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 62 */
_,_,_,_,_,_,
X,o,_,_,_,_,
o,X,o,_,_,_,
_,o,X,_,_,_,
o,X,o,_,_,_,
X,o,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 63 */
o,X,X,o,_,_,
X,o,o,X,_,_,
_,_,o,X,_,_,
_,o,X,o,_,_,
_,X,o,_,_,_,
_,o,_,_,_,_,
_,X,_,_,_,_,
_,_,_,_,_,_,
/* char 64 */
_,o,X,X,X,o,
o,X,o,o,o,X,
X,o,o,X,X,o,
X,o,X,o,X,_,
X,o,X,o,X,o,
X,o,o,X,X,X,
o,X,o,o,o,_,
_,o,X,X,X,_,
/* char 65 */
_,_,X,_,_,_,
_,o,X,o,_,_,
_,X,o,X,_,_,
o,X,o,X,o,_,
X,X,X,X,X,_,
X,o,_,o,X,_,
X,_,_,_,X,_,
_,_,_,_,_,_,
/* char 66 */
X,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
X,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
X,X,X,X,o,_,
_,_,_,_,_,_,
/* char 67 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 68 */
X,X,X,o,_,_,
X,o,o,X,o,_,
X,_,_,o,X,_,
X,_,_,_,X,_,
X,_,_,o,X,_,
X,o,o,X,o,_,
X,X,X,o,_,_,
_,_,_,_,_,_,
/* char 69 */
X,X,X,X,_,_,
X,o,_,_,_,_,
X,o,_,_,_,_,
X,X,X,_,_,_,
X,o,_,_,_,_,
X,o,_,_,_,_,
X,X,X,X,_,_,
_,_,_,_,_,_,
/* char 70 */
X,X,X,X,_,_,
X,o,_,_,_,_,
X,o,_,_,_,_,
X,X,X,_,_,_,
X,o,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
/* char 71 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,_,_,_,o,_,
X,_,_,X,X,_,
X,_,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 72 */
X,_,_,_,X,_,
X,_,_,_,X,_,
X,o,_,o,X,_,
X,X,X,X,X,_,
X,o,_,o,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
_,_,_,_,_,_,
/* char 73 */
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 74 */
_,_,_,_,X,_,
_,_,_,_,X,_,
_,_,_,_,X,_,
_,_,_,_,X,_,
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 75 */
X,_,_,o,X,_,
X,_,o,X,o,_,
X,o,X,o,_,_,
X,X,o,_,_,_,
X,o,X,o,_,_,
X,_,o,X,o,_,
X,_,_,o,X,_,
_,_,_,_,_,_,
/* char 76 */
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,o,_,_,_,_,
X,X,X,X,_,_,
_,_,_,_,_,_,
/* char 77 */
X,o,_,_,o,X,
X,X,o,_,o,X,
X,o,X,o,X,X,
X,_,o,X,o,X,
X,_,_,_,_,X,
X,_,_,_,_,X,
X,_,_,_,_,X,
_,_,_,_,_,_,
/* char 78 */
X,X,_,_,X,_,
X,X,o,_,X,_,
X,o,X,o,X,_,
X,o,X,o,X,_,
X,_,o,X,X,_,
X,_,_,X,X,_,
X,_,_,o,X,_,
_,_,_,_,_,_,
/* char 79 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 80 */
X,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
X,X,X,X,o,_,
X,o,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
_,_,_,_,_,_,
/* char 81 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,o,X,o,X,_,
o,X,X,X,o,_,
_,_,o,X,_,_,
/* char 82 */
X,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,o,X,_,
X,X,X,X,o,_,
X,o,X,o,_,_,
X,_,o,X,o,_,
X,_,_,o,X,_,
_,_,_,_,_,_,
/* char 83 */
o,X,X,X,o,_,
X,o,_,o,X,_,
X,o,_,_,_,_,
o,X,X,X,o,_,
_,_,_,o,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 84 */
X,X,X,X,X,_,
_,o,X,o,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 85 */
X,_,_,_,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,X,X,o,_,
_,_,_,_,_,_,
/* char 86 */
X,_,_,_,X,_,
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,o,X,o,_,
_,X,o,X,_,_,
_,o,X,o,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 87 */
X,_,_,_,_,X,
X,o,_,_,_,X,
o,X,o,X,o,X,
o,X,o,X,o,X,
_,o,X,o,X,o,
_,_,X,o,X,_,
_,_,X,o,X,_,
_,_,_,_,_,_,
/* char 88 */
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,o,X,o,_,
_,o,X,o,_,_,
o,X,o,X,o,_,
X,o,_,o,X,_,
X,_,_,_,X,_,
_,_,_,_,_,_,
/* char 89 */
X,_,_,_,X,_,
X,o,_,o,X,_,
o,X,o,X,o,_,
_,o,X,o,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,_,_,_,_,
/* char 90 */
X,X,X,X,_,_,
_,_,o,X,_,_,
_,o,X,o,_,_,
o,X,o,_,_,_,
X,o,_,_,_,_,
X,o,_,_,_,_,
X,X,X,X,_,_,
_,_,_,_,_,_,
/* char 91 */
X,o,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,o,_,_,_,_,
X,X,_,_,_,_,
/* char 92 */
X,o,_,_,_,_,
o,X,_,_,_,_,
_,X,o,_,_,_,
_,o,X,_,_,_,
_,_,X,o,_,_,
_,_,o,X,_,_,
_,_,_,X,_,_,
_,_,_,_,_,_,
/* char 93 */
o,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
_,X,_,_,_,_,
o,X,_,_,_,_,
X,X,_,_,_,_,
/* char 94 */
o,X,o,_,_,_,
X,o,X,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* char 95 */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,X,X,X,
_,_,_,_,_,_,
/* Char 0x60 '`' */
X,3,3,3,3,3,
X,4,4,4,4,4,
X,3,3,3,3,3,
X,4,4,4,4,4,
X,3,3,3,3,3,
X,4,4,4,4,4,
X,3,3,3,3,3,
X,5,5,5,5,5,
/* Char 0x61 'a' */
3,3,3,3,3,3,
4,4,4,4,4,4,
3,3,3,3,3,3,
4,4,4,4,4,4,
3,3,3,3,3,3,
4,4,4,4,4,4,
3,3,3,3,3,3,
5,5,5,5,5,5,
/* Char 0x62 'b' */
3,3,3,3,3,X,
4,4,4,4,4,X,
3,3,3,3,3,X,
4,4,4,4,4,X,
3,3,3,3,3,X,
4,4,4,4,4,X,
3,3,3,3,3,X,
5,5,5,5,5,X,
/* Char 0x63 'c' */
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
/* Char 0x64 'd' */
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
_,_,_,_,5,X,
5,5,5,5,5,X,
X,X,X,X,X,X,
/* Char 0x65 'e' */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
5,5,5,5,5,5,
X,X,X,X,X,X,
/* Char 0x66 'f' */
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,5,5,5,5,5,
X,X,X,X,X,X,
/* Char 0x67 'g' */
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
/* Char 0x68 'h' */
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
_,_,X,_,_,_,
/* Char 0x69 'i' */
X,X,X,X,X,X,
_,_,_,_,_,_,
X,X,X,X,X,X,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x6a 'j' */
X,X,X,X,X,X,
_,_,_,_,_,X,
X,X,X,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
/* Char 0x6b 'k' */
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
/* Char 0x6c 'l' */
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
_,_,_,X,_,X,
X,X,X,X,_,X,
_,_,_,_,_,X,
X,X,X,X,X,X,
/* Char 0x6d 'm' */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,X,X,X,
_,_,_,_,_,_,
X,X,X,X,X,X,
/* Char 0x6e 'n' */
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,X,X,X,
X,_,_,_,_,_,
X,X,X,X,X,X,
/* Char 0x6f 'o' */
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
/* Char 0x70 'p' */
5,5,5,5,5,5,
5,6,6,6,6,_,
5,6,_,_,_,_,
5,6,_,_,_,_,
5,6,_,_,_,_,
5,6,_,_,_,_,
5,6,_,_,_,_,
5,_,_,_,_,_,
/* Char 0x71 'q' */
_,_,_,_,_,4,
_,_,_,_,3,4,
_,_,_,_,3,4,
_,_,_,_,3,4,
_,_,_,_,3,4,
_,_,_,_,3,4,
_,3,3,3,3,4,
4,4,4,4,4,4,
/* Char 0x72 'r' */
X,X,X,X,X,X,
X,_,_,_,_,_,
X,_,X,X,X,X,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
X,_,X,_,_,_,
/* Char 0x73 's' */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,X,X,X,
X,X,X,X,X,X,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x74 't' */
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
X,_,_,_,_,_,
/* Char 0x75 'u' */
X,X,_,_,_,_,
X,X,_,_,_,_,
X,X,_,_,_,_,
X,X,_,_,_,_,
X,X,_,_,_,_,
X,X,_,_,_,_,
X,X,_,_,_,_,
X,X,_,_,_,_,
/* Char 0x76 'v' */
_,_,_,_,X,X,
_,_,_,_,X,X,
_,_,_,_,X,X,
_,_,_,_,X,X,
_,_,_,_,X,X,
_,_,_,_,X,X,
_,_,_,_,X,X,
_,_,_,_,X,X,
/* Char 0x77 'w' */
X,X,X,X,X,X,
X,X,X,X,X,X,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x78 'x' */
X,X,X,X,X,X,
X,X,X,X,X,X,
X,X,X,X,X,X,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x79 'y' */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,X,X,X,
X,X,X,X,X,X,
X,X,X,X,X,X,
/* Char 0x7a 'z' */
_,_,_,_,_,_,
_,_,_,_,o,X,
_,_,_,o,X,X,
X,X,o,X,X,o,
X,X,X,X,o,_,
X,X,X,o,_,_,
X,X,o,_,_,_,
_,_,_,_,_,_,
/* Char 0x7b '{' */
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
/* Char 0x7c '|' */
_,_,_,X,X,X,
_,_,_,X,X,X,
_,_,_,X,X,X,
_,_,_,X,X,X,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x7d '}' */
_,_,X,X,_,_,
_,_,X,X,_,_,
_,o,X,X,_,_,
X,X,X,X,_,_,
X,X,X,X,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x7e '~' */
X,X,X,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
_,_,_,_,_,_,
/* Char 0x7f '?' */
X,X,X,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
X,X,X,_,_,_,
_,_,_,X,X,X,
_,_,_,X,X,X,
_,_,_,X,X,X,
_,_,_,X,X,X,
};