diff --git a/.gitignore b/.gitignore index 7301eaeb..49e952ea 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,7 @@ workspace/TS100A/Release/TS100A.list workspace/TS100A/Release/TS100A.hex workspace/TS100A/.settings/language.settings.xml workspace/TS100A/.metadata/ +Translation Editor/.vscode/ +Translation Editor/__pycache__/ +*.pyc +workspace/TS100/src/Translation.cpp diff --git a/Translation Editor/fontTables.py b/Translation Editor/fontTables.py new file mode 100644 index 00000000..3cead8e2 --- /dev/null +++ b/Translation Editor/fontTables.py @@ -0,0 +1,844 @@ +#coding=utf-8 +def getFontMap(): + font = { + " ":"0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "!":"0x00,0x00,0x00,0x00,0x7C,0xFF,0xFF,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x00,0x00,0x00,0x00,0x00," , + "\"":"0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,", + "#":"0x00,0x00,0x10,0x90,0xF0,0x7E,0x1E,0x90,0xF0,0x7E,0x1E,0x10,0x00,0x02,0x1E,0x1F,0x03,0x02,0x1E,0x1F,0x03,0x02,0x00,0x00," , + "$":"0x00,0x00,0x78,0xFC,0xCC,0xFF,0xFF,0xCC,0xCC,0x88,0x00,0x00,0x00,0x00,0x04,0x0C,0x0C,0x3F,0x3F,0x0C,0x0F,0x07,0x00,0x00," , + "%":"0x00,0x00,0x38,0x38,0x38,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x00,0x30,0x38,0x1C,0x0E,0x07,0x03,0x01,0x38,0x38,0x38,0x00," , + "&":"0x00,0x00,0x00,0xB8,0xFC,0xC6,0xE2,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x31,0x21,0x37,0x1E,0x1C,0x36,0x22,0x00," , + "'":"0x00,0x00,0x00,0x00,0x27,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "(":"0x00,0x00,0x00,0xF0,0xFC,0xFE,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x38,0x20,0x20,0x00,0x00,0x00," , + "(":"0x00,0x00,0x00,0xF0,0xFC,0xFE,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x38,0x20,0x20,0x00,0x00,0x00," , + ")":"0x00,0x00,0x00,0x01,0x01,0x07,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x38,0x1F,0x0F,0x03,0x00,0x00,0x00," , + ")":"0x00,0x00,0x00,0x01,0x01,0x07,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x38,0x1F,0x0F,0x03,0x00,0x00,0x00," , + "*":"0x00,0x00,0x98,0xB8,0xE0,0xF8,0xF8,0xE0,0xB8,0x98,0x00,0x00,0x00,0x00,0x0C,0x0E,0x03,0x0F,0x0F,0x03,0x0E,0x0C,0x00,0x00," , + "+":"0x00,0x00,0x80,0x80,0x80,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01,0x00,0x00," , + ",":"0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0xF8,0x78,0x00,0x00,0x00,0x00,0x00," , + "-":"0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00," , + ".":"0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x00,0x00,0x00,0x00,0x00," , + "/":"0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x00,0x18,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00," , + "0":"0x00,0xF8,0xFE,0x06,0x03,0x83,0xC3,0x63,0x33,0x1E,0xFE,0xF8,0x00,0x07,0x1F,0x1E,0x33,0x31,0x30,0x30,0x30,0x18,0x1F,0x07," , + "1":"0x00,0x00,0x00,0x0C,0x0C,0x0E,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x3F,0x3F,0x30,0x30,0x30,0x00," , + "2":"0x00,0x1C,0x1E,0x07,0x03,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x30," , + "3":"0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E," , + "З":"0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E," , + "4":"0x00,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0xFF,0xFF,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x03,0x03," , + "5":"0x00,0x3F,0x7F,0x63,0x63,0x63,0x63,0x63,0x63,0xE3,0xC3,0x83,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F," , + "6":"0x00,0xC0,0xF0,0xF8,0xDC,0xCE,0xC7,0xC3,0xC3,0xC3,0x80,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F," , + "7":"0x00,0x03,0x03,0x03,0x03,0x03,0x03,0xC3,0xF3,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00," , + "8":"0x00,0x00,0xBC,0xFE,0xE7,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F," , + "9":"0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xFC,0x00,0x00,0x00,0x30,0x30,0x30,0x38,0x1C,0x0E,0x07,0x03,0x00," , + ":":"0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00," , + ":":"0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00," , + ";":"0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0xFC,0x7C,0x00,0x00,0x00,0x00,0x00," , + "<":"0x00,0x00,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,0x00," , + "=":"0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00," , + ">":"0x00,0x00,0x03,0x07,0x0E,0x1C,0x38,0xF0,0xE0,0xC0,0x00,0x00,0x00,0x00,0x30,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00," , + "?":"0x00,0x1C,0x1E,0x07,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x37,0x00,0x00,0x00,0x00,0x00," , + "@":"0x00,0xF8,0xFE,0x07,0xF3,0xFB,0x1B,0xFB,0xFB,0x07,0xFE,0xF8,0x00,0x0F,0x1F,0x18,0x33,0x37,0x36,0x37,0x37,0x36,0x03,0x01," , + "A":"0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00," , + "А":"0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00," , + "B":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "C":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "D":"0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "E":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "E":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "F":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "G":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC7,0xC6,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00," , + "H":"0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "I":"0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "J":"0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "K":"0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00," , + "L":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "M":"0x00,0xFF,0xFF,0x1E,0x78,0xE0,0xE0,0x78,0x1E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x01,0x00,0x00,0x3F,0x3F,0x00," , + "N":"0x00,0xFF,0xFF,0x0E,0x38,0xF0,0xC0,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00," , + "O":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "P":"0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00," , + "Р":"0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00," , + "Q":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x36,0x3E,0x1C,0x3F,0x33,0x00," , + "R":"0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00," , + "S":"0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC7,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "T":"0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "U":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "V":"0x00,0x07,0x3F,0xF8,0xC0,0x00,0x00,0xC0,0xF8,0x3F,0x07,0x00,0x00,0x00,0x00,0x01,0x0F,0x3E,0x3E,0x0F,0x01,0x00,0x00,0x00," , + "W":"0x00,0xFF,0xFF,0x00,0x00,0x80,0x80,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x06,0x03,0x03,0x06,0x1C,0x3F,0x3F,0x00," , + "X":"0x00,0x03,0x0F,0x1C,0x30,0xE0,0xE0,0x30,0x1C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0E,0x03,0x01,0x01,0x03,0x0E,0x3C,0x30,0x00," , + "Y":"0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "Z":"0x00,0x03,0x03,0x03,0x03,0xC3,0xE3,0x33,0x1F,0x0F,0x03,0x00,0x00,0x30,0x3C,0x3E,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x00," , + "Z":"0x00,0x03,0x03,0x03,0x03,0xC3,0xE3,0x33,0x1F,0x0F,0x03,0x00,0x00,0x30,0x3C,0x3E,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x00," , + "[":"0x00,0x00,0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00," , + "\\":"0x00,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x18,", + "\\":"0x00,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x18,", + "]":"0x00,0x00,0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00,0x00,0x00," , + "^":"0x00,0x60,0x70,0x38,0x1C,0x0E,0x07,0x0E,0x1C,0x38,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "_":"0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0," , + "`":"0x00,0x00,0x00,0x00,0x00,0x3E,0x7E,0x4E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "a":"0x00,0x00,0x40,0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "b":"0x00,0xFF,0xFF,0xC0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "c":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00," , + "d":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xC0,0xFF,0xFF,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00," , + "e":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00," , + "f":"0x00,0xC0,0xC0,0xFC,0xFE,0xC7,0xC3,0xC3,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "g":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00," , + "h":"0x00,0xFF,0xFF,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00," , + "i":"0x00,0x00,0x00,0x00,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "j":"0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00," , + "k":"0x00,0x00,0xFF,0xFF,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x07,0x0F,0x1C,0x38,0x30,0x00,0x00," , + "l":"0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "m":"0x00,0xE0,0xC0,0xE0,0xE0,0xC0,0xC0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00," , + "n":"0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "o":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "p":"0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x0C,0x18,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00," , + "q":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0xFF,0xFF,0x00," , + "r":"0x00,0x00,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "s":"0x00,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00," , + "t":"0x00,0x60,0x60,0xFE,0xFE,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00," , + "u":"0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "v":"0x00,0x60,0xE0,0x80,0x00,0x00,0x00,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x01,0x07,0x1E,0x38,0x38,0x1E,0x07,0x01,0x00,0x00," , + "w":"0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x1F,0x38,0x1C,0x0F,0x0F,0x1C,0x38,0x1F,0x07,0x00," , + "x":"0x00,0x60,0xE0,0xC0,0x80,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x0F,0x1D,0x38,0x30,0x00,0x00," , + "y":"0x00,0x00,0x60,0xE0,0x80,0x00,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00," , + "z":"0x00,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00," , + "z":"0x00,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00," , + "{":"0x00,0x00,0x80,0xC0,0xFC,0x7E,0x07,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x1F,0x3F,0x70,0x60,0x60,0x60,0x00,0x00," , + "|":"0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "}":"0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00," , + "~":"0x00,0x10,0x18,0x0C,0x04,0x0C,0x18,0x10,0x18,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "¡":"0x00,0x00,0x00,0x00,0x80,0xF3,0xF3,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x3F,0x0F,0x00,0x00,0x00,0x00," , + "¢":"0x00,0x00,0xE0,0xF0,0x38,0xFE,0xFE,0x18,0x38,0x30,0x00,0x00,0x00,0x00,0x03,0x07,0x0E,0x3F,0x3F,0x0C,0x0E,0x06,0x00,0x00," , + "£":"0x00,0x00,0x00,0x80,0xF8,0xFC,0x8C,0x8C,0x1C,0x18,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x0B,0x18,0x18,0x18,0x18,0x08,0x00," , + "¤":"0x00,0xF6,0xFE,0x18,0x0C,0x0C,0x0C,0x0C,0x18,0xFE,0xF6,0x00,0x00,0x1B,0x1F,0x06,0x0C,0x0C,0x0C,0x0C,0x06,0x1F,0x1B,0x00," , + "¥":"0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x3F,0x3F,0x0A,0x0A,0x0A,0x00,0x00," , + "¦":"0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "§":"0x00,0x00,0xDC,0xFE,0x22,0x22,0x22,0x22,0xE6,0xC4,0x00,0x00,0x00,0x00,0x08,0x19,0x11,0x11,0x11,0x11,0x1F,0x0E,0x00,0x00," , + "¨":"0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "©":"0x00,0xF0,0xF8,0x1C,0xCC,0xEC,0x2C,0x6C,0x4C,0x1C,0xF8,0xF0,0x00,0x07,0x0F,0x1C,0x19,0x1B,0x1A,0x1B,0x19,0x1C,0x0F,0x07," , + "«":"0x00,0x80,0xC0,0x60,0x20,0x00,0x80,0xC0,0x60,0x20,0x00,0x00,0x00,0x00,0x01,0x03,0x02,0x00,0x00,0x01,0x03,0x02,0x00,0x00," , + "¬":"0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x00," , + "®":"0x00,0xF0,0xF8,0x1C,0xEC,0xEC,0xAC,0xEC,0x4C,0x1C,0xF8,0xF0,0x00,0x07,0x0F,0x1C,0x1B,0x1B,0x18,0x1B,0x1B,0x1C,0x0F,0x07," , + "¯":"0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "°":"0x00,0x00,0x00,0x1E,0x3F,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "±":"0x00,0x00,0x00,0xC0,0xC0,0xF0,0xF0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1B,0x1B,0x18,0x18,0x00,0x00,0x00," , + "²":"0x00,0x00,0x19,0x1D,0x15,0x17,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "³":"0x00,0x00,0x11,0x15,0x15,0x1F,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "´":"0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "µ":"0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0xFF,0xFF,0x0E,0x0C,0x0C,0x0C,0x06,0x0F,0x0F,0x00,0x00," , + "¶":"0x00,0x38,0x7C,0xC6,0x82,0xFE,0xFE,0x02,0xFE,0xFE,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x3F,0x3F,0x00,0x00," , + "¹":"0x00,0x00,0x12,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "»":"0x00,0x20,0x60,0xC0,0x80,0x00,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x02,0x03,0x01,0x00,0x00,0x02,0x03,0x01,0x00,0x00,0x00," , + "¼":"0x00,0x48,0x7C,0x7C,0x40,0x80,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x06,0x07,0x04,0x1F,0x1F,0x00," , + "½":"0x00,0x48,0x7C,0x7C,0x40,0x80,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x00,0x19,0x1D,0x17,0x12,0x00," , + "¾":"0x00,0x44,0x54,0x7C,0x28,0x80,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x06,0x07,0x04,0x1F,0x1F,0x00," , + "¿":"0x00,0x00,0x00,0x80,0xC0,0xFB,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x3B,0x31,0x30,0x30,0x30,0x38,0x1E,0x0E,0x00," , + "À":"0x00,0x00,0x00,0x80,0xE1,0x7B,0x7E,0xE4,0x80,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00," , + "Á":"0x00,0x00,0x00,0x80,0xE4,0x7E,0x7B,0xE1,0x80,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00," , + "Â":"0x00,0x00,0x00,0x84,0xE6,0x7B,0x7B,0xE6,0x84,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00," , + "Ã":"0x00,0x00,0x00,0x82,0xE3,0x79,0x7B,0xE2,0x83,0x01,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00," , + "Ä":"0x00,0x00,0x00,0x83,0xE3,0x78,0x78,0xE3,0x83,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00," , + "Å":"0x00,0x00,0x00,0x80,0xE2,0x75,0x75,0xE2,0x80,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00," , + "Æ":"0x00,0x00,0x80,0xF0,0x7C,0x1F,0xFF,0xFF,0xC3,0xC3,0x03,0x00,0x00,0x3C,0x3F,0x07,0x06,0x06,0x3F,0x3F,0x30,0x30,0x30,0x00," , + "Ç":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x1E,0x1C,0x00,0x00,0x01,0x07,0xCE,0xDC,0xF8,0xF8,0x18,0x1C,0x0E,0x06,0x00," , + "È":"0x00,0xF8,0xF8,0x99,0x9B,0x9E,0x9C,0x98,0x98,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "É":"0x00,0xF8,0xF8,0x98,0x98,0x9C,0x9E,0x9B,0x99,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "Ê":"0x00,0xF8,0xF8,0x9C,0x9E,0x9B,0x9B,0x9E,0x9C,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "Ë":"0x00,0xF8,0xF8,0x9B,0x9B,0x98,0x98,0x9B,0x9B,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "Ì":"0x00,0x00,0x00,0x19,0x1B,0xFE,0xFC,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Í":"0x00,0x00,0x00,0x18,0x18,0xFC,0xFE,0x1B,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Î":"0x00,0x00,0x00,0x1C,0x1E,0xFB,0xFB,0x1E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ï":"0x00,0x00,0x00,0x1B,0x1B,0xF8,0xF8,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ð":"0x00,0xC0,0xFF,0xFF,0xC3,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "Ñ":"0x00,0xF8,0xF8,0x72,0xE3,0xC1,0x83,0x02,0x03,0xF9,0xF8,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x03,0x07,0x0E,0x3F,0x3F,0x00," , + "Ò":"0x00,0xE0,0xF0,0x39,0x1B,0x1E,0x1C,0x18,0x38,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Ó":"0x00,0xE0,0xF0,0x38,0x18,0x1C,0x1E,0x1B,0x39,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Ô":"0x00,0xE0,0xF0,0x3C,0x1E,0x1B,0x1B,0x1E,0x3C,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Õ":"0x00,0xE0,0xF0,0x3A,0x1B,0x19,0x1B,0x1A,0x3B,0xF1,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Ö":"0x00,0xE0,0xF0,0x3B,0x1B,0x18,0x18,0x1B,0x3B,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "×":"0x00,0xF0,0xF8,0x1C,0x0C,0x8C,0xEC,0x7C,0x18,0xFC,0xF4,0x00,0x00,0x2F,0x3F,0x18,0x3E,0x37,0x31,0x30,0x38,0x1F,0x0F,0x00," , + "Ù":"0x00,0xF8,0xF8,0x01,0x03,0x06,0x04,0x00,0x00,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "Ú":"0x00,0xF8,0xF8,0x00,0x00,0x04,0x06,0x03,0x01,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "Û":"0x00,0xF8,0xF8,0x04,0x06,0x03,0x03,0x06,0x04,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "Ü":"0x00,0xF8,0xF8,0x03,0x03,0x00,0x00,0x03,0x03,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "Ý":"0x00,0x08,0x18,0x30,0x60,0xC4,0xC6,0x63,0x31,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "ß":"0x00,0x00,0xC0,0xE0,0x30,0x10,0x10,0x30,0xE0,0xC0,0x00,0x00,0x00,0x00,0xFF,0xFF,0x21,0x21,0x21,0x33,0x3F,0x1E,0x00,0x00," , + "à":"0x00,0x00,0x40,0x60,0x62,0x66,0x6C,0x68,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "á":"0x00,0x00,0x40,0x60,0x68,0x6C,0x66,0x62,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "â":"0x00,0x00,0x40,0x68,0x6C,0x66,0x66,0x6C,0x68,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "ã":"0x00,0x00,0x40,0x68,0x6C,0x64,0x6C,0x68,0x6C,0xE4,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "ä":"0x00,0x00,0x40,0x6C,0x6C,0x60,0x60,0x6C,0x6C,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "å":"0x00,0x00,0x40,0x60,0x64,0x6A,0x6A,0x64,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "æ":"0x00,0x80,0xC0,0x40,0x40,0xC0,0x80,0x40,0x40,0xC0,0x80,0x00,0x00,0x1C,0x3E,0x22,0x22,0x1F,0x3F,0x22,0x22,0x33,0x11,0x00," , + "ç":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0xB8,0xB0,0xF0,0xF0,0x30,0x38,0x18,0x08,0x00," , + "è":"0x00,0x80,0xC0,0xE0,0x62,0x66,0x6C,0x68,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x33,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00," , + "é":"0x00,0x80,0xC0,0xE0,0x60,0x68,0x6C,0x66,0x62,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00," , + "ê":"0x00,0x80,0xC0,0xE8,0x6C,0x66,0x66,0x6C,0x68,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x33,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00," , + "ë":"0x00,0x80,0xC0,0xEC,0x6C,0x60,0x60,0x6C,0x6C,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x33,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00," , + "ì":"0x00,0x00,0x00,0x00,0x62,0xE6,0xEC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "í":"0x00,0x00,0x00,0x00,0x68,0xEC,0xE6,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "î":"0x00,0x00,0x00,0x08,0x6C,0xE6,0xE6,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ï":"0x00,0x00,0x00,0x0C,0x6C,0xE0,0xEC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ñ":"0x00,0x00,0xE0,0xE8,0x6C,0x64,0x6C,0x68,0xEC,0xC4,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "ò":"0x00,0x80,0xC0,0xE0,0x62,0x66,0x6C,0x68,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "ó":"0x00,0x80,0xC0,0xE0,0x68,0x6C,0x66,0x62,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "ô":"0x00,0x80,0xC0,0xE8,0x6C,0x66,0x66,0x6C,0xE8,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "õ":"0x00,0x80,0xC8,0xEC,0x64,0x6C,0x68,0x6C,0xE4,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "ö":"0x00,0x80,0xC0,0xEC,0x6C,0x60,0x60,0x6C,0xEC,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "÷":"0x00,0x00,0x80,0x80,0x80,0xB0,0xB0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0D,0x0D,0x01,0x01,0x01,0x00,0x00," , + "ø":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xC0,0xE0,0xA0,0x00,0x00,0x2F,0x3F,0x18,0x3C,0x36,0x33,0x31,0x38,0x1F,0x0F,0x00," , + "ù":"0x00,0xE0,0xE0,0x00,0x02,0x06,0x0C,0x08,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "ú":"0x00,0xE0,0xE0,0x00,0x08,0x0C,0x06,0x02,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "û":"0x00,0xE0,0xE0,0x08,0x0C,0x06,0x06,0x0C,0x08,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "ü":"0x00,0xE0,0xE0,0x0C,0x0C,0x00,0x00,0x0C,0x0C,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "ý":"0x00,0x00,0x60,0xE0,0x80,0x10,0x18,0x8C,0xE4,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00," , + "þ":"0x00,0x00,0x03,0xFF,0xFF,0x1B,0x18,0x18,0xF8,0xF0,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x36,0x06,0x06,0x07,0x03,0x00,0x00," , + "ÿ":"0x00,0x00,0x60,0xEC,0x8C,0x00,0x00,0x8C,0xEC,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00," , + "Ѐ":"0x00,0xFC,0xFC,0x8D,0x8F,0x8E,0x8C,0x8C,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "Ё":"0x00,0xFE,0xFE,0xC7,0xC7,0xC6,0xC6,0xC7,0xC7,0x06,0x06,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "Ђ":"0x00,0x03,0xFF,0xFF,0x83,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "Ѓ":"0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0E,0x0F,0x0D,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "Є":"0x00,0xF8,0xFC,0xCE,0xC7,0xC3,0xC3,0xC3,0x07,0x0E,0x0C,0x00,0x00,0x07,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "Ѕ":"0x00,0x3C,0x7E,0x67,0xE3,0xC3,0xC3,0xC3,0x87,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x31,0x39,0x1F,0x0F,0x00," , + "І":"0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ї":"0x00,0x00,0x00,0x0D,0x0D,0xFC,0xFC,0x0D,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ј":"0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Љ":"0x00,0x00,0xFE,0xFF,0x03,0x03,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F," , + "Њ":"0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F," , + "Ћ":"0x00,0x03,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x00,0x00,0x01,0x3F,0x3F,0x00," , + "Ќ":"0x00,0xFF,0xFF,0xC0,0xE2,0xF3,0x39,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00," , + "Ѝ":"0x00,0xFF,0xFF,0x00,0x01,0xC3,0xF2,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "Ў":"0x00,0x07,0x1F,0x7C,0xF1,0xC1,0xC1,0xF1,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00," , + "Џ":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x78,0x78,0x18,0x18,0x1F,0x1F,0x00," , + #"A":"0x00,0x80,0xE0,0x78,0x1E,0x07,0x07,0x1E,0x78,0xE0,0x80,0x00,0x00,0x3F,0x3F,0x06,0x06,0x06,0x06,0x06,0x06,0x3F,0x3F,0x00," , + "Б":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x83,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "В":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "Г":"0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "Г":"0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "Д":"0x00,0x00,0xF8,0xFE,0x0F,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x70,0x7F,0x1F,0x18,0x18,0x18,0x18,0x1F,0x7F,0x70,0x00," , + "Е":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "Ж":"0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00," , + "Ж":"0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00," , + "И":"0x00,0xFF,0xFF,0x00,0x00,0xC0,0xF0,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "Й":"0x00,0xFF,0xFF,0x00,0x02,0xC3,0xF1,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "К":"0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00," , + "Л":"0x00,0x00,0xF0,0xFC,0x1E,0x07,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "М":"0x00,0xFF,0xFF,0x1E,0x78,0xE0,0xE0,0x78,0x1E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x01,0x00,0x00,0x3F,0x3F,0x00," , + "Н":"0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "О":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "П":"0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "Р":"0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00," , + "С":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "Т":"0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "У":"0x00,0x07,0x1F,0x7C,0xF0,0xC0,0xC0,0xF0,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00," , + "Ф":"0x00,0xF8,0xFC,0x0E,0x06,0xFF,0xFF,0x06,0x0E,0xFC,0xF8,0x00,0x00,0x03,0x07,0x0E,0x0C,0x3F,0x3F,0x0C,0x0E,0x07,0x03,0x00," , + "Х":"0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x03,0x0F,0x3C,0x30,0x00," , + "Ц":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x1F,0x1F,0x18,0x18,0x18,0x18,0x18,0x1F,0x7F,0x78,0x00," , + "Ч":"0x00,0x7F,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "Ш":"0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00," , + "Щ":"0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x1F,0x1F,0x18,0x18,0x1F,0x7F,0x70," , + "Ъ":"0x03,0x03,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "Ы":"0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x00,0x3F,0x3F,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,0x3F,0x3F," , + "Ь":"0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00," , + "Э":"0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC7,0xCE,0xFC,0xF8,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0F,0x07,0x00," , + "Ю":"0x00,0xFF,0xFF,0xC0,0xFC,0xFE,0x07,0x03,0x07,0xFE,0xFC,0x00,0x00,0x3F,0x3F,0x00,0x0F,0x1F,0x38,0x30,0x38,0x1F,0x0F,0x00," , + "Я":"0x00,0x7C,0xFE,0xC7,0x83,0x83,0x83,0x83,0x83,0xFF,0xFF,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x03,0x01,0x01,0x3F,0x3F,0x00," , + "а":"0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1E,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "б":"0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00," , + "в":"0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x00,0x3F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00," , + "г":"0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "д":"0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x60,0x7F,0x3F,0x30,0x30,0x30,0x30,0x3F,0x7F,0x60,0x00," , + "е":"0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00," , + "ж":"0x00,0x30,0xF0,0xC0,0x00,0xF0,0xF0,0x00,0xC0,0xF0,0x30,0x00,0x00,0x30,0x3C,0x0F,0x03,0x3F,0x3F,0x03,0x0F,0x3C,0x30,0x00," , + "з":"0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00," , + "З":"0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00," , + "и":"0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00," , + "й":"0x00,0xF0,0xF0,0x00,0x04,0x08,0x88,0xC4,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00," , + "к":"0x00,0xF0,0xF0,0x80,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00," , + "л":"0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "м":"0x00,0xF0,0xF0,0xE0,0xC0,0x80,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x03,0x01,0x00,0x3F,0x3F,0x00," , + "н":"0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00," , + "о":"0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "п":"0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "р":"0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x0C,0x0E,0x07,0x03,0x00," , + "с":"0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x18,0x08,0x00," , + "т":"0x00,0x30,0x30,0x30,0x30,0xF0,0xF0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "у":"0x00,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00," , + "ф":"0x00,0x80,0xC0,0x60,0x60,0xF0,0xF0,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x30,0x30,0xFF,0xFF,0x30,0x30,0x1F,0x0F,0x00," , + "х":"0x00,0x30,0x70,0xC0,0x80,0x00,0x00,0x80,0xC0,0x70,0x30,0x00,0x00,0x30,0x38,0x0C,0x07,0x03,0x03,0x07,0x0C,0x38,0x30,0x00," , + "ц":"0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x3F,0xFF,0xF0,0x00," , + "ч":"0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00," , + "ш":"0x00,0xF0,0xF0,0x00,0x00,0xE0,0xE0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00," , + "щ":"0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0xFF,0xE0," , + "ъ":"0x30,0x30,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00," , + "ы":"0x00,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x31,0x31,0x3B,0x1F,0x0E,0x00,0x3F,0x3F,0x00," , + "ь":"0x00,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00," , + "э":"0x00,0x40,0x60,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x08,0x18,0x38,0x30,0x33,0x33,0x33,0x3B,0x1F,0x0F,0x00," , + "ю":"0x00,0xF0,0xF0,0x00,0xE0,0xF0,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x3F,0x3F,0x03,0x1F,0x3F,0x30,0x30,0x30,0x3F,0x1F,0x00," , + "я":"0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x21,0x33,0x3B,0x1E,0x0E,0x06,0x06,0x06,0x3F,0x3F,0x00," , + "ѐ":"0x00,0xE0,0xF0,0x32,0x36,0x36,0x34,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00," , + "ё":"0x00,0xE0,0xF0,0x34,0x34,0x30,0x30,0x34,0x34,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00," , + "ђ":"0x00,0x30,0xFC,0xFC,0x30,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x07,0x03,0x01,0x01,0xC1,0xFF,0x3F,0x00," , + "ѓ":"0x00,0xF0,0xF0,0x30,0x30,0x34,0x36,0x32,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "є":"0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x30,0x38,0x18,0x08,0x00," , + "ѕ":"0x00,0xE0,0xF0,0xB0,0xB0,0x30,0x30,0x30,0x30,0x70,0x60,0x00,0x00,0x18,0x39,0x31,0x33,0x33,0x33,0x37,0x36,0x3E,0x1C,0x00," , + "і":"0x00,0x00,0x00,0x00,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ї":"0x00,0x00,0x00,0x04,0x34,0xF0,0xF4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ј":"0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00," , + "љ":"0x00,0x00,0xE0,0xF0,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x33,0x33,0x1E,0x0C," , + "њ":"0x00,0xF0,0xF0,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x3F,0x3F,0x33,0x33,0x1E,0x0C," , + "ћ":"0x00,0x30,0xFC,0xFC,0xB0,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00," , + "ќ":"0x00,0xF0,0xF0,0x80,0x88,0xCC,0xE4,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00," , + "ѝ":"0x00,0xF0,0xF0,0x00,0x06,0x0C,0x88,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00," , + "ў":"0x00,0x30,0xF0,0xC0,0x04,0x08,0x08,0x04,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00," , + "џ":"0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0xF0,0xF0,0x30,0x30,0x3F,0x3F,0x00," , + "Ā":"0x00,0x00,0x00,0xE0,0xF9,0x1D,0x1D,0xF9,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00," , + "ā":"0x00,0x00,0x40,0x60,0x68,0x68,0x68,0x68,0x68,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "Ă":"0x00,0x00,0x00,0xE0,0xF9,0x1A,0x1A,0xF9,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00," , + "ă":"0x00,0x00,0x40,0x60,0x64,0x68,0x68,0x68,0x64,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "Ą":"0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x67,0xBF,0xB8,0x00," , + "ą":"0x00,0x00,0x40,0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x73,0xBF,0xBF,0x00," , + "Ć":"0x00,0x80,0xE0,0x70,0x38,0x18,0x1A,0x1B,0x39,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "ć":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x6C,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00," , + "Ĉ":"0x00,0x80,0xE0,0x70,0x3A,0x1B,0x19,0x1B,0x3A,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "ĉ":"0x00,0x80,0xC0,0xE0,0x68,0x6C,0x64,0x6C,0x68,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00," , + "Ċ":"0x00,0x80,0xE0,0x70,0x38,0x18,0x1A,0x18,0x38,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "ċ":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00," , + "Č":"0x00,0x80,0xE0,0x70,0x39,0x1B,0x1A,0x1B,0x39,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00," , + "č":"0x00,0x80,0xC0,0xE0,0x64,0x6C,0x68,0x6C,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00," , + "Ď":"0x00,0xF8,0xF8,0x19,0x1B,0x1A,0x1B,0x39,0x70,0xE0,0x80,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "ď":"0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xFF,0xFF,0x00,0x05,0x03,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x3F,0x3F,0x00,0x00,0x00," , + "Đ":"0xC0,0xFF,0xFF,0xC3,0xC3,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "đ":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xE4,0xC4,0xFF,0xFF,0x04,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00," , + "Ē":"0x00,0xFC,0xFC,0x8C,0x8D,0x8D,0x8D,0x8D,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "ē":"0x00,0x80,0xC0,0xE0,0x68,0x68,0x68,0x68,0x68,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00," , + "Ĕ":"0x00,0xF8,0xF8,0x98,0x99,0x9A,0x9A,0x99,0x98,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "ĕ":"0x00,0x80,0xC0,0xE0,0x64,0x68,0x68,0x68,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00," , + "Ė":"0x00,0xF8,0xF8,0x98,0x98,0x98,0x9A,0x98,0x98,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "ė":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00," , + "Ę":"0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x70,0xB0,0xB0,0x00," , + "ę":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x73,0xB3,0xB3,0x13,0x01,0x00," , + "Ě":"0x00,0xF8,0xF8,0x98,0x99,0x9B,0x9A,0x9B,0x99,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00," , + "ě":"0x00,0x80,0xC0,0xE0,0x64,0x6C,0x68,0x6C,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00," , + "Ĝ":"0x00,0x80,0xE0,0x70,0x1A,0x1B,0x19,0x1B,0x1A,0x38,0x30,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "ĝ":"0x00,0x80,0xC0,0xE0,0x68,0x6C,0x64,0x6C,0x68,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00," , + "Ğ":"0x00,0x80,0xE0,0x70,0x1A,0x19,0x19,0x19,0x1A,0x38,0x30,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "ğ":"0x00,0x80,0xC0,0xE0,0x68,0x64,0x64,0x64,0x68,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00," , + "Ġ":"0x00,0x80,0xE0,0x70,0x18,0x18,0x1A,0x18,0x18,0x38,0x30,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x33,0x33,0x33,0x3F,0x3F,0x00," , + "ġ":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x60,0x60,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00," , + "Ģ":"0x00,0xF0,0xFC,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC7,0xC6,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0xB0,0x70,0x30,0x3F,0x3F,0x00," , + "ģ":"0x00,0x80,0xC0,0xE0,0x60,0x60,0x6C,0x6A,0x60,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00," , + "Ĥ":"0x00,0xFC,0xFC,0x80,0x82,0x81,0x81,0x82,0x80,0xFC,0xFC,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00," , + "ĥ":"0x00,0xFE,0xFE,0xC0,0x62,0x63,0x61,0xE3,0xC2,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00," , + "Ħ":"0x02,0xFF,0xFF,0xC2,0xC2,0xC2,0xC2,0xC2,0xC2,0xFF,0xFF,0x02,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "ħ":"0x04,0xFF,0xFF,0xC4,0x64,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00," , + "Ĩ":"0x00,0x00,0x00,0x1A,0x19,0xFB,0xFB,0x1A,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ĩ":"0x00,0x00,0x00,0x08,0x64,0xEC,0xE8,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ī":"0x00,0x00,0x00,0x0C,0x0D,0xFD,0xFD,0x0D,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ī":"0x00,0x00,0x00,0x08,0x68,0xE8,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ĭ":"0x00,0x00,0x00,0x18,0x19,0xFA,0xFA,0x19,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ĭ":"0x00,0x00,0x00,0x00,0x64,0xE8,0xE8,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Į":"0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x7F,0xBF,0xB0,0x30,0x00,0x00,0x00," , + "į":"0x00,0x00,0x00,0x00,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x7F,0xBF,0xB0,0x30,0x00,0x00,0x00," , + "İ":"0x00,0x00,0x00,0x18,0x18,0xF8,0xFA,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "ı":"0x00,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "IJ":"0x00,0x03,0xFF,0xFF,0x03,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x30,0x3F,0x3F,0x30,0x0C,0x1C,0x30,0x30,0x3F,0x1F,0x00," , + "ij":"0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x70,0xC0,0xC0,0xFF,0x7F,0x00,0x00," , + "Ĵ":"0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x03,0x02,0xF8,0xF8,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "ĵ":"0x00,0x00,0x00,0x00,0x00,0x08,0x6C,0xE4,0xEC,0x08,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00," , + "Ķ":"0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0xA3,0x67,0x0E,0x1C,0x38,0x30,0x00," , + "ķ":"0x00,0x00,0xFF,0xFF,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0xA7,0x6F,0x1C,0x38,0x30,0x00,0x00," , + "ĸ":"0x00,0x00,0xE0,0xE0,0x00,0x80,0xC0,0xE0,0x60,0x20,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x07,0x0F,0x1C,0x38,0x30,0x00,0x00," , + "Ĺ":"0x00,0xF8,0xFA,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "ĺ":"0x00,0x00,0x00,0x00,0x18,0xFA,0xFB,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ļ":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0xB0,0x70,0x30,0x30,0x30,0x30,0x00," , + "ļ":"0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xBF,0x7F,0x30,0x30,0x00,0x00,0x00," , + "Ľ":"0x00,0xFF,0xFF,0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "ľ":"0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ŀ":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "ŀ":"0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ł":"0x80,0xFF,0xFF,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00," , + "ł":"0x00,0x00,0x00,0x00,0x83,0xFF,0xFF,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00," , + "Ń":"0x00,0xFF,0xFF,0x0E,0x38,0xF2,0xC3,0x01,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00," , + "ń":"0x00,0x00,0xE0,0xE0,0x60,0x68,0x6C,0x64,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "Ņ":"0x00,0xFF,0xFF,0x0E,0x38,0xF0,0xC0,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0xA0,0x63,0x07,0x1C,0x3F,0x3F,0x00," , + "ņ":"0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0xA0,0x60,0x00,0x3F,0x3F,0x00," , + "Ň":"0x00,0xFF,0xFF,0x0E,0x38,0xF1,0xC2,0x01,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00," , + "ň":"0x00,0x00,0xE0,0xE0,0x64,0x6C,0x68,0x6C,0xE4,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "ʼn":"0x00,0x0A,0xE6,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00," , + "Ŋ":"0x00,0x00,0xFF,0xFF,0x06,0x03,0x03,0x03,0x07,0xFE,0xFC,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x20,0x20,0x30,0x1F,0x0F,0x00," , + "ŋ":"0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0xC0,0xC0,0xFF,0x7F,0x00," , + "Ō":"0x00,0xC0,0xF0,0x38,0x1D,0x0D,0x0D,0x1D,0x38,0xF0,0xC0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "ō":"0x00,0x80,0xC0,0xE0,0x68,0x68,0x68,0x68,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Ŏ":"0x00,0x80,0xE0,0x70,0x39,0x1A,0x1A,0x39,0x70,0xE0,0x80,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "ŏ":"0x00,0x80,0xC0,0xE0,0x64,0x68,0x68,0x64,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Ő":"0x00,0x80,0xE0,0x70,0x3A,0x19,0x1A,0x39,0x70,0xE0,0x80,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00," , + "ő":"0x00,0x80,0xC0,0xE0,0x68,0x64,0x68,0x64,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00," , + "Œ":"0xF0,0xFC,0x0E,0x03,0x03,0x07,0xFE,0xFF,0xC3,0xC3,0xC3,0x00,0x03,0x0F,0x1C,0x30,0x30,0x38,0x1F,0x3F,0x30,0x30,0x30,0x00," , + "œ":"0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x60,0x60,0x60,0x40,0x80,0x0F,0x1F,0x38,0x30,0x30,0x1F,0x1F,0x3B,0x33,0x33,0x1B,0x09," , + "Ŕ":"0x00,0xF8,0xF8,0x98,0x98,0x9A,0x9B,0x99,0xF8,0xF0,0x60,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00," , + "ŕ":"0x00,0x00,0xE0,0xE0,0xC0,0x60,0x68,0x6C,0x64,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "Ŗ":"0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0xA3,0x67,0x0F,0x1D,0x38,0x30,0x00," , + "ŗ":"0x00,0x00,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0xA0,0x60,0x00,0x00,0x00,0x00,0x00," , + "Ř":"0x00,0xF8,0xF8,0x99,0x9B,0x9A,0x9B,0x99,0xF8,0xF0,0x60,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00," , + "ř":"0x00,0x00,0xE0,0xE0,0xC4,0x6C,0x68,0x6C,0x64,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00," , + "Ś":"0x00,0x60,0xF0,0xF8,0x98,0x9A,0x9B,0x99,0x98,0x30,0x20,0x00,0x00,0x0C,0x1C,0x39,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00," , + "ś":"0x00,0xC0,0xE0,0x60,0x68,0x6C,0x64,0x60,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00," , + "Ŝ":"0x00,0x60,0xF0,0xF8,0x9A,0x9B,0x99,0x9B,0x9A,0x30,0x20,0x00,0x00,0x0C,0x1C,0x39,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00," , + "ŝ":"0x00,0xC0,0xE0,0x68,0x6C,0x64,0x6C,0x68,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00," , + "Ş":"0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC7,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0xB0,0xF0,0x30,0x39,0x1F,0x0F,0x00," , + "ş":"0x00,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0xB3,0xF3,0x33,0x3F,0x1E,0x00,0x00,0x00," , + "Š":"0x00,0x60,0xF0,0xF8,0x99,0x9B,0x9A,0x9B,0x99,0x30,0x20,0x00,0x00,0x0C,0x1C,0x39,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00," , + "š":"0x00,0xC0,0xE0,0x64,0x6C,0x68,0x6C,0x64,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00," , + "Ţ":"0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x60,0x00,0x00,0x00,0x00," , + "ţ":"0x00,0x60,0x60,0xFE,0xFE,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0xB0,0xB0,0xF0,0x30,0x00,0x00,0x00," , + "Ť":"0x00,0x00,0x18,0x19,0x1B,0xFA,0xFA,0x1B,0x19,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "ť":"0x00,0x60,0x60,0xFE,0xFE,0x60,0x65,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00," , + "Ŧ":"0x00,0x00,0x03,0xC3,0xC3,0xFF,0xFF,0xC3,0xC3,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "ŧ":"0x00,0x30,0x30,0xFE,0xFE,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x1F,0x3F,0x33,0x33,0x30,0x30,0x00,0x00,0x00," , + "Ũ":"0x00,0xF8,0xF8,0x02,0x01,0x03,0x03,0x02,0x01,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "ũ":"0x00,0xE0,0xE0,0x08,0x04,0x0C,0x0C,0x08,0x04,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "Ū":"0x00,0xFC,0xFC,0x00,0x01,0x01,0x01,0x01,0x00,0xFC,0xFC,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "ū":"0x00,0xE0,0xE0,0x00,0x08,0x08,0x08,0x08,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "Ŭ":"0x00,0xFC,0xFC,0x00,0x01,0x02,0x02,0x01,0x00,0xFC,0xFC,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "ŭ":"0x00,0xE0,0xE0,0x00,0x04,0x08,0x08,0x04,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "Ů":"0x00,0xF8,0xF8,0x00,0x06,0x09,0x09,0x06,0x00,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "ů":"0x00,0xE0,0xE0,0x00,0x0C,0x12,0x12,0x0C,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "Ű":"0x00,0xF8,0xF8,0x00,0x02,0x01,0x02,0x01,0x00,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00," , + "ű":"0x00,0xE0,0xE0,0x00,0x08,0x04,0x08,0x04,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00," , + "Ų":"0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x07,0x1F,0x38,0x30,0xF0,0xB0,0xB0,0x38,0x1F,0x07,0x00," , + "ų":"0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0xF0,0xB0,0xB0,0x18,0x3F,0x3F,0x00," , + "Ŵ":"0x00,0xFC,0xFC,0x00,0x02,0x81,0x81,0x02,0x00,0xFC,0xFC,0x00,0x00,0x3F,0x3F,0x1C,0x06,0x03,0x03,0x06,0x1C,0x3F,0x3F,0x00," , + "ŵ":"0x00,0xE0,0xE0,0x00,0x04,0xE8,0xE8,0x04,0x00,0xE0,0xE0,0x00,0x00,0x07,0x1F,0x38,0x1C,0x0F,0x0F,0x1C,0x38,0x1F,0x07,0x00," , + "Ŷ":"0x00,0x02,0x0E,0x3C,0xF2,0xC1,0xC1,0xF2,0x3C,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "ŷ":"0x00,0x00,0x60,0xE0,0x88,0x04,0x04,0x88,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00," , + "Ÿ":"0x00,0x02,0x0E,0x3C,0xF1,0xC0,0xC0,0xF1,0x3C,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00," , + "Ź":"0x00,0x18,0x18,0x18,0x18,0x1A,0x9B,0xD9,0xF8,0x78,0x38,0x00,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x00," , + "ź":"0x00,0x60,0x60,0x60,0x68,0x6C,0xE4,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00," , + "Ż":"0x00,0x18,0x18,0x18,0x18,0x18,0x9A,0xD8,0xF8,0x78,0x38,0x00,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x00," , + "ż":"0x00,0x60,0x60,0x60,0x60,0x68,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00," , + "Ž":"0x00,0x18,0x18,0x18,0x19,0x1B,0x9A,0xDB,0xF9,0x78,0x38,0x00,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x00," , + "ž":"0x00,0x60,0x60,0x64,0x6C,0x68,0xEC,0xE4,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00," , + "ſ":"0x00,0x00,0x00,0x00,0xFC,0xFE,0x06,0x06,0x0E,0x0C,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x00,0x00,0x00,0x00,0x00," , + } + return font + +def getSmallFontMap(): + font = { + " ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "!":"0x00, 0x00, 0x4f, 0x00, 0x00, 0x00,", + "\"":"0x00, 0x07, 0x00, 0x07, 0x00, 0x00,", + "#":"0x14, 0x7f, 0x14, 0x7f, 0x14, 0x00,", + "$":"0x24, 0x2a, 0x7f, 0x2a, 0x12, 0x00,", + "%":"0x23, 0x13, 0x08, 0x64, 0x62, 0x00,", + "&":"0x36, 0x49, 0x56, 0x20, 0x58, 0x00,", + "'":"0x00, 0x05, 0x03, 0x00, 0x00, 0x00,", + "(":"0x00, 0x1c, 0x22, 0x41, 0x00, 0x00,", + ")":"0x00, 0x41, 0x22, 0x1c, 0x00, 0x00,", + "*":"0x14, 0x08, 0x3e, 0x08, 0x14, 0x00,", + "+":"0x08, 0x08, 0x3e, 0x08, 0x08, 0x00,", + ",":"0x00, 0x50, 0x30, 0x00, 0x00, 0x00,", + "-":"0x08, 0x08, 0x08, 0x08, 0x08, 0x00,", + ".":"0x00, 0x60, 0x60, 0x00, 0x00, 0x00,", + "/":"0x20, 0x10, 0x08, 0x04, 0x02, 0x00,", + "0":"0x3e, 0x51, 0x49, 0x45, 0x3e, 0x00,", + "1":"0x00, 0x42, 0x7f, 0x40, 0x00, 0x00,", + "2":"0x42, 0x61, 0x51, 0x49, 0x46, 0x00,", + "3":"0x21, 0x41, 0x45, 0x4b, 0x31, 0x00,", + "4":"0x18, 0x14, 0x12, 0x7f, 0x10, 0x00,", + "5":"0x27, 0x45, 0x45, 0x45, 0x39, 0x00,", + "6":"0x3c, 0x4a, 0x49, 0x49, 0x30, 0x00,", + "7":"0x01, 0x71, 0x09, 0x05, 0x03, 0x00,", + "8":"0x36, 0x49, 0x49, 0x49, 0x36, 0x00,", + "9":"0x06, 0x49, 0x49, 0x29, 0x1e, 0x00,", + ":":"0x00, 0x36, 0x36, 0x00, 0x00, 0x00,", + ";":"0x00, 0x56, 0x36, 0x00, 0x00, 0x00,", + "<":"0x08, 0x14, 0x22, 0x41, 0x00, 0x00,", + "=":"0x14, 0x14, 0x14, 0x14, 0x14, 0x00,", + ">":"0x00, 0x41, 0x22, 0x14, 0x08, 0x00,", + "?":"0x02, 0x01, 0x51, 0x09, 0x06, 0x00,", + "@":"0x32, 0x49, 0x79, 0x41, 0x3e, 0x00,", + "A":"0x7e, 0x09, 0x09, 0x09, 0x7e, 0x00,", + "B":"0x7f, 0x49, 0x49, 0x49, 0x36, 0x00,", + "C":"0x3e, 0x41, 0x41, 0x41, 0x22, 0x00,", + "D":"0x7f, 0x41, 0x41, 0x22, 0x1c, 0x00,", + "E":"0x7f, 0x49, 0x49, 0x49, 0x41, 0x00,", + "F":"0x7f, 0x09, 0x09, 0x09, 0x01, 0x00,", + "G":"0x3e, 0x41, 0x41, 0x49, 0x7a, 0x00,", + "H":"0x7f, 0x08, 0x08, 0x08, 0x7f, 0x00,", + "I":"0x00, 0x41, 0x7f, 0x41, 0x00, 0x00,", + "J":"0x20, 0x40, 0x41, 0x3f, 0x01, 0x00,", + "K":"0x7f, 0x08, 0x14, 0x22, 0x41, 0x00,", + "L":"0x7f, 0x40, 0x40, 0x40, 0x40, 0x00,", + "M":"0x7f, 0x02, 0x0c, 0x02, 0x7f, 0x00,", + "N":"0x7f, 0x04, 0x08, 0x10, 0x7f, 0x00,", + "O":"0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00,", + "P":"0x7f, 0x09, 0x09, 0x09, 0x06, 0x00,", + "Q":"0x3e, 0x41, 0x51, 0x21, 0x5e, 0x00,", + "R":"0x7f, 0x09, 0x19, 0x29, 0x46, 0x00,", + "S":"0x26, 0x49, 0x49, 0x49, 0x32, 0x00,", + "T":"0x01, 0x01, 0x7f, 0x01, 0x01, 0x00,", + "U":"0x3f, 0x40, 0x40, 0x40, 0x3f, 0x00,", + "V":"0x1f, 0x20, 0x40, 0x20, 0x1f, 0x00,", + "W":"0x3f, 0x40, 0x38, 0x40, 0x3f, 0x00,", + "X":"0x63, 0x14, 0x08, 0x14, 0x63, 0x00,", + "Y":"0x07, 0x08, 0x70, 0x08, 0x07, 0x00,", + "Z":"0x61, 0x51, 0x49, 0x45, 0x43, 0x00,", + "[":"0x00, 0x7f, 0x41, 0x41, 0x00, 0x00,", + "\\":"0x02, 0x04, 0x08, 0x10, 0x20, 0x00,", + "]":"0x00, 0x41, 0x41, 0x7f, 0x00, 0x00,", + "^":"0x04, 0x02, 0x01, 0x02, 0x04, 0x00,", + "_":"0x40, 0x40, 0x40, 0x40, 0x40, 0x00,", + "`":"0x00, 0x03, 0x05, 0x00, 0x00, 0x00,", + "a":"0x20, 0x54, 0x54, 0x54, 0x78, 0x00,", + "b":"0x7f, 0x48, 0x44, 0x44, 0x38, 0x00,", + "c":"0x38, 0x44, 0x44, 0x44, 0x20, 0x00,", + "d":"0x38, 0x44, 0x44, 0x48, 0x7f, 0x00,", + "e":"0x38, 0x54, 0x54, 0x54, 0x18, 0x00,", + "f":"0x00, 0x04, 0x7e, 0x05, 0x01, 0x00,", + "g":"0x08, 0x54, 0x54, 0x54, 0x3c, 0x00,", + "h":"0x7f, 0x08, 0x04, 0x04, 0x78, 0x00,", + "i":"0x00, 0x44, 0x7d, 0x40, 0x00, 0x00,", + "j":"0x20, 0x40, 0x44, 0x3d, 0x00, 0x00,", + "k":"0x00, 0x7f, 0x10, 0x28, 0x44, 0x00,", + "l":"0x00, 0x41, 0x7f, 0x40, 0x00, 0x00,", + "m":"0x7c, 0x04, 0x78, 0x04, 0x78, 0x00,", + "n":"0x7c, 0x08, 0x04, 0x04, 0x78, 0x00,", + "o":"0x38, 0x44, 0x44, 0x44, 0x38, 0x00,", + "p":"0x7c, 0x14, 0x14, 0x14, 0x08, 0x00,", + "q":"0x08, 0x14, 0x14, 0x14, 0x7c, 0x00,", + "r":"0x7c, 0x08, 0x04, 0x04, 0x08, 0x00,", + "s":"0x48, 0x54, 0x54, 0x54, 0x24, 0x00,", + "t":"0x04, 0x3e, 0x44, 0x40, 0x20, 0x00,", + "u":"0x3c, 0x40, 0x40, 0x20, 0x7c, 0x00,", + "v":"0x0c, 0x30, 0x40, 0x30, 0x0c, 0x00,", + "w":"0x3c, 0x40, 0x30, 0x40, 0x3c, 0x00,", + "x":"0x44, 0x24, 0x38, 0x48, 0x44, 0x00,", + "y":"0x44, 0x48, 0x30, 0x10, 0x0c, 0x00,", + "z":"0x44, 0x64, 0x54, 0x4c, 0x44, 0x00,", + "{":"0x08, 0x36, 0x41, 0x00, 0x00, 0x00,", + "|":"0x00, 0x00, 0x77, 0x00, 0x00, 0x00,", + "}":"0x00, 0x00, 0x41, 0x36, 0x08, 0x00,", + "~":"0x02, 0x01, 0x02, 0x04, 0x02, 0x00,", + "^":"0x04, 0x02, 0x01, 0x02, 0x04, 0x00,", + " ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "¡":"0x00, 0x00, 0x79, 0x00, 0x00, 0x00,", + "¢":"0x1c, 0x22, 0x7f, 0x22, 0x10, 0x00,", + "£":"0x50, 0x7e, 0x51, 0x41, 0x42, 0x00,", + "¤":"0x22, 0x1c, 0x14, 0x1c, 0x22, 0x00,", + "¥":"0x15, 0x16, 0x7c, 0x16, 0x15, 0x00,", + "¦":"0x00, 0x00, 0x77, 0x00, 0x00, 0x00,", + "§":"0x4a, 0x55, 0x55, 0x55, 0x29, 0x00,", + "¨":"0x00, 0x01, 0x00, 0x01, 0x00, 0x00,", + "©":"0x00, 0x18, 0x24, 0x24, 0x00, 0x00,", + "ª":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "«":"0x08, 0x14, 0x00, 0x08, 0x14, 0x00,", + "¬":"0x08, 0x08, 0x08, 0x08, 0x38, 0x00,", + "­":"0x08, 0x08, 0x08, 0x08, 0x08, 0x00,", + "®":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "¯":"0x00, 0x01, 0x01, 0x01, 0x00, 0x00,", + "°":"0x00, 0x00, 0x07, 0x05, 0x07, 0x00,", + "±":"0x44, 0x44, 0x5f, 0x44, 0x44, 0x00,", + "²":"0x1d, 0x15, 0x17, 0x00, 0x00, 0x00,", + "³":"0x15, 0x15, 0x1f, 0x00, 0x00, 0x00,", + "´":"0x00, 0x04, 0x02, 0x01, 0x00, 0x00,", + "µ":"0x7c, 0x10, 0x10, 0x0c, 0x10, 0x00,", + "¶":"0x02, 0x07, 0x7f, 0x01, 0x7f, 0x00,", + "·":"0x00, 0x00, 0x08, 0x00, 0x00, 0x00,", + "¸":"0x00, 0x40, 0x60, 0x00, 0x00, 0x00,", + "¹":"0x12, 0x1f, 0x10, 0x00, 0x00, 0x00,", + "º":"0x07, 0x05, 0x07, 0x00, 0x00, 0x00,", + "»":"0x14, 0x08, 0x00, 0x14, 0x08, 0x00,", + "¼":"0x21, 0x17, 0x38, 0x24, 0x72, 0x00,", + "½":"0x21, 0x17, 0x78, 0x54, 0x5e, 0x00,", + "¾":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "¿":"0x30, 0x48, 0x45, 0x40, 0x20, 0x00,", + "À":"0x78, 0x15, 0x16, 0x14, 0x78, 0x00,", + "Á":"0x78, 0x14, 0x16, 0x15, 0x78, 0x00,", + "Â":"0x78, 0x16, 0x15, 0x16, 0x78, 0x00,", + "Ã":"0x7a, 0x29, 0x2a, 0x79, 0x00, 0x00,", + "Ä":"0x78, 0x15, 0x14, 0x15, 0x78, 0x00,", + "Å":"0x78, 0x14, 0x15, 0x14, 0x78, 0x00,", + "Æ":"0x7e, 0x09, 0x7f, 0x49, 0x49, 0x00,", + "Ç":"0x0e, 0x51, 0x71, 0x11, 0x08, 0x00,", + "È":"0x7c, 0x55, 0x56, 0x44, 0x44, 0x00,", + "É":"0x7c, 0x54, 0x56, 0x45, 0x44, 0x00,", + "Ê":"0x7c, 0x56, 0x55, 0x46, 0x44, 0x00,", + "Ë":"0x7c, 0x55, 0x54, 0x45, 0x44, 0x00,", + "Ì":"0x00, 0x49, 0x7a, 0x48, 0x00, 0x00,", + "Í":"0x00, 0x48, 0x7a, 0x49, 0x00, 0x00,", + "Î":"0x00, 0x4a, 0x79, 0x4a, 0x00, 0x00,", + "Ï":"0x44, 0x45, 0x7c, 0x45, 0x44, 0x00,", + "Ð":"0x08, 0x7f, 0x49, 0x22, 0x1c, 0x00,", + "Ñ":"0x7a, 0x11, 0x22, 0x79, 0x00, 0x00,", + "Ò":"0x38, 0x45, 0x46, 0x44, 0x38, 0x00,", + "Ó":"0x38, 0x44, 0x46, 0x45, 0x38, 0x00,", + "Ô":"0x38, 0x46, 0x45, 0x46, 0x38, 0x00,", + "Õ":"0x32, 0x49, 0x4a, 0x31, 0x00, 0x00,", + "Ö":"0x38, 0x45, 0x44, 0x45, 0x38, 0x00,", + "×":"0x22, 0x14, 0x08, 0x14, 0x22, 0x00,", + "Ø":"0x58, 0x24, 0x54, 0x48, 0x34, 0x00,", + "Ù":"0x38, 0x41, 0x42, 0x40, 0x38, 0x00,", + "Ú":"0x38, 0x40, 0x42, 0x41, 0x38, 0x00,", + "Û":"0x38, 0x42, 0x41, 0x42, 0x38, 0x00,", + "Ü":"0x3c, 0x41, 0x40, 0x41, 0x3c, 0x00,", + "Ý":"0x04, 0x08, 0x72, 0x09, 0x04, 0x00,", + "Þ":"0x7f, 0x22, 0x22, 0x22, 0x1c, 0x00,", + "ß":"0x7e, 0x11, 0x25, 0x25, 0x1a, 0x00,", + "à":"0x20, 0x55, 0x56, 0x54, 0x78, 0x00,", + "á":"0x20, 0x54, 0x56, 0x55, 0x78, 0x00,", + "â":"0x20, 0x56, 0x55, 0x56, 0x78, 0x00,", + "ã":"0x22, 0x55, 0x56, 0x55, 0x78, 0x00,", + "ä":"0x20, 0x55, 0x54, 0x55, 0x78, 0x00,", + "å":"0x20, 0x54, 0x55, 0x54, 0x78, 0x00,", + "æ":"0x24, 0x54, 0x7c, 0x54, 0x48, 0x00,", + "ç":"0x1c, 0x22, 0x62, 0x22, 0x10, 0x00,", + "è":"0x38, 0x55, 0x56, 0x54, 0x08, 0x00,", + "é":"0x38, 0x54, 0x56, 0x55, 0x08, 0x00,", + "ê":"0x38, 0x56, 0x55, 0x56, 0x08, 0x00,", + "ë":"0x38, 0x55, 0x54, 0x55, 0x08, 0x00,", + "ì":"0x00, 0x45, 0x7e, 0x40, 0x00, 0x00,", + "í":"0x00, 0x44, 0x7e, 0x41, 0x00, 0x00,", + "î":"0x00, 0x46, 0x7d, 0x42, 0x00, 0x00,", + "ï":"0x00, 0x45, 0x7c, 0x41, 0x00, 0x00,", + "ð":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ñ":"0x78, 0x12, 0x09, 0x0a, 0x71, 0x00,", + "ò":"0x38, 0x45, 0x46, 0x44, 0x38, 0x00,", + "ó":"0x38, 0x44, 0x46, 0x45, 0x38, 0x00,", + "ô":"0x38, 0x46, 0x45, 0x46, 0x38, 0x00,", + "õ":"0x32, 0x49, 0x4a, 0x31, 0x00, 0x00,", + "ö":"0x38, 0x45, 0x44, 0x45, 0x38, 0x00,", + "÷":"0x08, 0x08, 0x2a, 0x08, 0x08, 0x00,", + "ø":"0x58, 0x24, 0x54, 0x48, 0x34, 0x00,", + "ù":"0x3c, 0x41, 0x42, 0x20, 0x7c, 0x00,", + "ú":"0x3c, 0x40, 0x42, 0x21, 0x7c, 0x00,", + "û":"0x3c, 0x42, 0x41, 0x22, 0x7c, 0x00,", + "ü":"0x3c, 0x41, 0x40, 0x21, 0x5c, 0x00,", + "ý":"0x44, 0x48, 0x32, 0x11, 0x0c, 0x00,", + "þ":"0x7c, 0x28, 0x28, 0x10, 0x00, 0x00,", + "ÿ":"0x44, 0x49, 0x30, 0x11, 0x0c, 0x00,", + "Ѐ":"0x7c, 0x55, 0x56, 0x44, 0x44, 0x00,", + "Ё":"0x7c, 0x55, 0x54, 0x45, 0x44, 0x00,", + "Ђ":"0x01, 0x7f, 0x09, 0x49, 0x31, 0x00,", + "Ѓ":"0x7c, 0x04, 0x06, 0x05, 0x04, 0x00,", + "Є":"0x3e, 0x49, 0x49, 0x41, 0x00, 0x00,", + "Ѕ":"0x06, 0x49, 0x49, 0x49, 0x30, 0x00,", + "І":"0x41, 0x41, 0x7f, 0x41, 0x41, 0x00,", + "Ї":"0x44, 0x45, 0x7c, 0x45, 0x44, 0x00,", + "Ј":"0x20, 0x40, 0x41, 0x3f, 0x01, 0x00,", + "Љ":"0x7f, 0x01, 0x7f, 0x48, 0x30, 0x00,", + "Њ":"0x7f, 0x08, 0x7f, 0x48, 0x30, 0x00,", + "Ћ":"0x01, 0x01, 0x7f, 0x09, 0x71, 0x00,", + "Ќ":"0x7c, 0x12, 0x29, 0x44, 0x00, 0x00,", + "Ѝ":"0x7c, 0x21, 0x12, 0x08, 0x7c, 0x00,", + "Ў":"0x44, 0x49, 0x32, 0x09, 0x04, 0x00,", + "Џ":"0x3f, 0x20, 0x60, 0x20, 0x3f, 0x00,", + "А":"0x7e, 0x09, 0x09, 0x09, 0x7e, 0x00,", + "Б":"0x7f, 0x49, 0x49, 0x49, 0x31, 0x00,", + "В":"0x7f, 0x49, 0x49, 0x49, 0x36, 0x00,", + "Г":"0x7f, 0x01, 0x01, 0x01, 0x01, 0x00,", + "Д":"0x60, 0x3f, 0x21, 0x3f, 0x60, 0x00,", + "Е":"0x7f, 0x49, 0x49, 0x49, 0x41, 0x00,", + "Ж":"0x77, 0x08, 0x7f, 0x08, 0x77, 0x00,", + "З":"0x00, 0x41, 0x49, 0x49, 0x36, 0x00,", + "И":"0x7f, 0x10, 0x08, 0x04, 0x7f, 0x00,", + "Й":"0x7c, 0x21, 0x12, 0x09, 0x7c, 0x00,", + "К":"0x7f, 0x08, 0x14, 0x22, 0x41, 0x00,", + "Л":"0x40, 0x3f, 0x01, 0x01, 0x7f, 0x00,", + "М":"0x7f, 0x02, 0x04, 0x02, 0x7f, 0x00,", + "Н":"0x7f, 0x08, 0x08, 0x08, 0x7f, 0x00,", + "О":"0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00,", + "П":"0x7f, 0x01, 0x01, 0x01, 0x7f, 0x00,", + "Р":"0x7f, 0x09, 0x09, 0x09, 0x06, 0x00,", + "С":"0x3e, 0x41, 0x41, 0x41, 0x22, 0x00,", + "Т":"0x01, 0x01, 0x7f, 0x01, 0x01, 0x00,", + "У":"0x47, 0x48, 0x30, 0x08, 0x07, 0x00,", + "Ф":"0x0c, 0x12, 0x7f, 0x12, 0x0c, 0x00,", + "Х":"0x63, 0x14, 0x08, 0x14, 0x63, 0x00,", + "Ц":"0x3f, 0x20, 0x20, 0x3f, 0x60, 0x00,", + "Ч":"0x07, 0x08, 0x08, 0x08, 0x7f, 0x00,", + "Ш":"0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x00,", + "Щ":"0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x60,", + "Ъ":"0x01, 0x7f, 0x48, 0x48, 0x30, 0x00,", + "Ы":"0x7f, 0x48, 0x30, 0x00, 0x7f, 0x00,", + "Ь":"0x00, 0x7f, 0x48, 0x48, 0x30, 0x00,", + "Э":"0x22, 0x49, 0x49, 0x2a, 0x1c, 0x00,", + "Ю":"0x7f, 0x08, 0x3e, 0x41, 0x3e, 0x00,", + "Я":"0x46, 0x29, 0x19, 0x09, 0x7f, 0x00,", + "а":"0x20, 0x54, 0x54, 0x54, 0x78, 0x00,", + "б":"0x3c, 0x4a, 0x4a, 0x4a, 0x30, 0x00,", + "в":"0x7c, 0x54, 0x54, 0x54, 0x28, 0x00,", + "г":"0x7c, 0x04, 0x04, 0x04, 0x04, 0x00,", + "д":"0x40, 0x3c, 0x24, 0x3c, 0x60, 0x00,", + "е":"0x38, 0x54, 0x54, 0x54, 0x18, 0x00,", + "ж":"0x6c, 0x10, 0x7c, 0x10, 0x6c, 0x00,", + "з":"0x28, 0x44, 0x54, 0x54, 0x28, 0x00,", + "и":"0x7c, 0x20, 0x10, 0x08, 0x7c, 0x00,", + "й":"0x7c, 0x21, 0x12, 0x09, 0x7c, 0x00,", + "к":"0x7c, 0x10, 0x28, 0x44, 0x00, 0x00,", + "л":"0x40, 0x3c, 0x04, 0x04, 0x7c, 0x00,", + "м":"0x7c, 0x08, 0x10, 0x08, 0x7c, 0x00,", + "н":"0x7c, 0x10, 0x10, 0x10, 0x7c, 0x00,", + "о":"0x38, 0x44, 0x44, 0x44, 0x38, 0x00,", + "п":"0x7c, 0x04, 0x04, 0x04, 0x7c, 0x00,", + "р":"0x7c, 0x14, 0x14, 0x14, 0x08, 0x00,", + "с":"0x38, 0x44, 0x44, 0x44, 0x20, 0x00,", + "т":"0x04, 0x04, 0x7c, 0x04, 0x04, 0x00,", + "у":"0x4c, 0x50, 0x20, 0x10, 0x0c, 0x00,", + "ф":"0x18, 0x24, 0x7e, 0x24, 0x18, 0x00,", + "х":"0x44, 0x28, 0x10, 0x28, 0x44, 0x00,", + "ц":"0x3c, 0x20, 0x20, 0x3c, 0x60, 0x00,", + "ч":"0x0c, 0x10, 0x10, 0x10, 0x7c, 0x00,", + "ш":"0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x00,", + "щ":"0x3c, 0x20, 0x3c, 0x20, 0x7c, 0x00,", + "ъ":"0x04, 0x7c, 0x50, 0x20, 0x00, 0x00,", + "ы":"0x7c, 0x50, 0x20, 0x00, 0x7c, 0x00,", + "ь":"0x00, 0x7c, 0x50, 0x20, 0x00, 0x00,", + "э":"0x28, 0x44, 0x54, 0x54, 0x28, 0x00,", + "ю":"0x7c, 0x10, 0x38, 0x44, 0x38, 0x00,", + "я":"0x48, 0x34, 0x14, 0x14, 0x7c, 0x00,", + "ѐ":"0x38, 0x55, 0x56, 0x54, 0x08, 0x00,", + "ё":"0x38, 0x55, 0x54, 0x55, 0x08, 0x00,", + "ђ":"0x02, 0x3f, 0x12, 0x48, 0x30, 0x00,", + "ѓ":"0x7c, 0x04, 0x06, 0x05, 0x04, 0x00,", + "є":"0x38, 0x54, 0x54, 0x44, 0x28, 0x00,", + "ѕ":"0x08, 0x54, 0x54, 0x54, 0x20, 0x00,", + "і":"0x00, 0x44, 0x7d, 0x40, 0x00, 0x00,", + "ї":"0x00, 0x45, 0x7c, 0x41, 0x00, 0x00,", + "ј":"0x20, 0x40, 0x44, 0x3d, 0x00, 0x00,", + "љ":"0x7c, 0x04, 0x7c, 0x50, 0x20, 0x00,", + "њ":"0x7c, 0x10, 0x7c, 0x50, 0x20, 0x00,", + "ћ":"0x04, 0x7e, 0x14, 0x10, 0x60, 0x00,", + "ќ":"0x7c, 0x12, 0x29, 0x44, 0x00, 0x00,", + "ѝ":"0x7c, 0x21, 0x12, 0x08, 0x7c, 0x00,", + "ў":"0x4c, 0x51, 0x22, 0x11, 0x0c, 0x00,", + "џ":"0x3c, 0x20, 0x60, 0x20, 0x3c, 0x00,", + "Ā":"0x78, 0x15, 0x15, 0x15, 0x78, 0x00,", + "ā":"0x20, 0x55, 0x55, 0x55, 0x78, 0x00,", + "Ă":"0x78, 0x15, 0x16, 0x15, 0x78, 0x00,", + "ă":"0x20, 0x55, 0x56, 0x55, 0x78, 0x00,", + "Ą":"0x7e, 0x09, 0x09, 0x49, 0xbe, 0x00,", + "ą":"0x20, 0x54, 0x54, 0xd4, 0x78, 0x00,", + "Ć":"0x38, 0x44, 0x46, 0x45, 0x28, 0x00,", + "ć":"0x38, 0x44, 0x46, 0x45, 0x20, 0x00,", + "Ĉ":"0x38, 0x46, 0x45, 0x46, 0x28, 0x00,", + "ĉ":"0x38, 0x46, 0x45, 0x46, 0x20, 0x00,", + "Ċ":"0x38, 0x44, 0x45, 0x44, 0x28, 0x00,", + "ċ":"0x38, 0x44, 0x45, 0x44, 0x20, 0x00,", + "Č":"0x38, 0x45, 0x46, 0x45, 0x28, 0x00,", + "č":"0x38, 0x45, 0x46, 0x45, 0x20, 0x00,", + "Ď":"0x7c, 0x45, 0x46, 0x29, 0x10, 0x00,", + "ď":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Đ":"0x08, 0x7f, 0x49, 0x22, 0x1c, 0x00,", + "đ":"0x38, 0x44, 0x44, 0x4A, 0x7F, 0x00,", + "Ē":"0x7c, 0x55, 0x55, 0x55, 0x44, 0x00,", + "ē":"0x38, 0x55, 0x55, 0x55, 0x08, 0x00,", + "Ĕ":"0x7c, 0x55, 0x56, 0x55, 0x44, 0x00,", + "ĕ":"0x38, 0x55, 0x56, 0x55, 0x08, 0x00,", + "Ė":"0x7c, 0x54, 0x55, 0x54, 0x44, 0x00,", + "ė":"0x38, 0x54, 0x55, 0x54, 0x08, 0x00,", + "Ę":"0x7f, 0x49, 0x49, 0xc9, 0x41, 0x00,", + "ę":"0x38, 0x54, 0x54, 0xd4, 0x18, 0x00,", + "Ě":"0x7c, 0x55, 0x56, 0x55, 0x44, 0x00,", + "ě":"0x38, 0x55, 0x56, 0x55, 0x08, 0x00,", + "Ĝ":"0x38, 0x46, 0x55, 0x56, 0x70, 0x00,", + "ĝ":"0x08, 0x56, 0x55, 0x56, 0x3c, 0x00,", + "Ğ":"0x38, 0x45, 0x56, 0x55, 0x30, 0x00,", + "ğ":"0x08, 0x55, 0x56, 0x55, 0x3c, 0x00,", + "Ġ":"0x38, 0x44, 0x55, 0x54, 0x30, 0x00,", + "ġ":"0x08, 0x54, 0x55, 0x54, 0x3c, 0x00,", + "Ģ":"0x0e, 0x51, 0x35, 0x15, 0x1c, 0x00,", + "ģ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ĥ":"0x7c, 0x12, 0x11, 0x12, 0x7c, 0x00,", + "ĥ":"0x02, 0x79, 0x22, 0x10, 0x60, 0x00,", + "Ħ":"0x02, 0x7f, 0x0a, 0x7f, 0x02, 0x00,", + "ħ":"0x02, 0x7f, 0x12, 0x08, 0x70, 0x00,", + "Ĩ":"0x4a, 0x49, 0x7a, 0x49, 0x48, 0x00,", + "ĩ":"0x02, 0x49, 0x7a, 0x41, 0x00, 0x00,", + "Ī":"0x44, 0x45, 0x7d, 0x45, 0x44, 0x00,", + "ī":"0x00, 0x45, 0x7d, 0x41, 0x00, 0x00,", + "Ĭ":"0x44, 0x45, 0x7e, 0x45, 0x44, 0x00,", + "ĭ":"0x00, 0x45, 0x7e, 0x41, 0x00, 0x00,", + "Į":"0x00, 0x41, 0x7f, 0xc1, 0x00, 0x00,", + "į":"0x00, 0x44, 0x7d, 0xc0, 0x00, 0x00,", + "İ":"0x44, 0x44, 0x7d, 0x44, 0x44, 0x00,", + "ı":"0x00, 0x44, 0x7c, 0x40, 0x00, 0x00,", + "IJ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ij":"0x44, 0x7d, 0x40, 0x44, 0x3d, 0x00,", + "Ĵ":"0x20, 0x40, 0x46, 0x3d, 0x06, 0x00,", + "ĵ":"0x00, 0x20, 0x46, 0x3d, 0x02, 0x00,", + "Ķ":"0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00,", + "ķ":"0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00,", + "ĸ":"0x7c, 0x10, 0x28, 0x44, 0x00, 0x00,", + "Ĺ":"0x7c, 0x40, 0x42, 0x41, 0x40, 0x00,", + "ĺ":"0x00, 0x44, 0x7e, 0x41, 0x00, 0x00,", + "Ļ":"0x1f, 0x50, 0x30, 0x10, 0x10, 0x00,", + "ļ":"0x00, 0x51, 0x3f, 0x10, 0x00, 0x00,", + "Ľ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ľ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ŀ":"0x7f, 0x40, 0x40, 0x48, 0x40, 0x00,", + "ŀ":"0x00, 0x41, 0x7f, 0x40, 0x08, 0x00,", + "Ł":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ł":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ń":"0x7c, 0x08, 0x12, 0x21, 0x7c, 0x00,", + "ń":"0x7c, 0x08, 0x06, 0x05, 0x78, 0x00,", + "Ņ":"0x1f, 0x42, 0x24, 0x08, 0x1f, 0x00,", + "ņ":"0x1f, 0x42, 0x21, 0x01, 0x1e, 0x00,", + "Ň":"0x7c, 0x09, 0x12, 0x21, 0x7c, 0x00,", + "ň":"0x7c, 0x09, 0x06, 0x05, 0x78, 0x00,", + "ʼn":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ŋ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ŋ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ō":"0x38, 0x45, 0x45, 0x45, 0x38, 0x00,", + "ō":"0x38, 0x45, 0x45, 0x45, 0x38, 0x00,", + "Ŏ":"0x38, 0x45, 0x46, 0x45, 0x38, 0x00,", + "ŏ":"0x38, 0x45, 0x46, 0x45, 0x38, 0x00,", + "Ő":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ő":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Œ":"0x3e, 0x41, 0x7f, 0x49, 0x49, 0x00,", + "œ":"0x38, 0x44, 0x7c, 0x54, 0x58, 0x00,", + "Ŕ":"0x7c, 0x14, 0x16, 0x15, 0x68, 0x00,", + "ŕ":"0x7c, 0x08, 0x06, 0x05, 0x08, 0x00,", + "Ŗ":"0x1f, 0x45, 0x25, 0x05, 0x1a, 0x00,", + "ŗ":"0x1f, 0x42, 0x21, 0x01, 0x02, 0x00,", + "Ř":"0x7c, 0x15, 0x16, 0x15, 0x68, 0x00,", + "ř":"0x7c, 0x09, 0x06, 0x05, 0x08, 0x00,", + "Ś":"0x08, 0x54, 0x56, 0x55, 0x20, 0x00,", + "ś":"0x48, 0x54, 0x56, 0x55, 0x24, 0x00,", + "Ŝ":"0x08, 0x56, 0x55, 0x56, 0x20, 0x00,", + "ŝ":"0x48, 0x56, 0x55, 0x56, 0x24, 0x00,", + "Ş":"0x02, 0x55, 0x35, 0x15, 0x08, 0x00,", + "ş":"0x12, 0x55, 0x35, 0x15, 0x09, 0x00,", + "Š":"0x08, 0x55, 0x56, 0x55, 0x20, 0x00,", + "š":"0x48, 0x55, 0x56, 0x55, 0x24, 0x00,", + "Ţ":"0x01, 0x41, 0x3f, 0x01, 0x01, 0x00,", + "ţ":"0x02, 0x4f, 0x32, 0x10, 0x08, 0x00,", + "Ť":"0x04, 0x05, 0x7e, 0x05, 0x04, 0x00,", + "ť":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ŧ":"0x01, 0x09, 0x7f, 0x09, 0x01, 0x00,", + "ŧ":"0x14, 0x3e, 0x54, 0x40, 0x20, 0x00,", + "Ũ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ũ":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ū":"0x3c, 0x41, 0x41, 0x41, 0x3c, 0x00,", + "ū":"0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", + "Ŭ":"0x3c, 0x41, 0x42, 0x41, 0x3c, 0x00,", + "ŭ":"0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", + "Ů":"0x3c, 0x40, 0x41, 0x40, 0x3c, 0x00,", + "ů":"0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00,", + "Ű":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ű":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ų":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "ų":"0x00, 0x00, 0x00, 0x00, 0x00, 0x00,", + "Ŵ":"0x3c, 0x42, 0x39, 0x42, 0x3c, 0x00,", + "ŵ":"0x3c, 0x42, 0x31, 0x42, 0x3c, 0x00,", + "Ŷ":"0x04, 0x0a, 0x71, 0x0a, 0x04, 0x00,", + "ŷ":"0x04, 0x4a, 0x31, 0x12, 0x0c, 0x00,", + "Ÿ":"0x04, 0x09, 0x70, 0x09, 0x04, 0x00,", + "Ź":"0x44, 0x64, 0x56, 0x4d, 0x44, 0x00,", + "ź":"0x44, 0x64, 0x56, 0x4d, 0x44, 0x00,", + "Ż":"0x44, 0x64, 0x55, 0x4c, 0x44, 0x00,", + "ż":"0x44, 0x64, 0x55, 0x4c, 0x44, 0x00,", + "Ž":"0x44, 0x65, 0x56, 0x4d, 0x44, 0x00,", + "ž":"0x44, 0x65, 0x56, 0x4d, 0x44, 0x00,", + "ſ":"0x00, 0x04, 0x7e, 0x01, 0x01, 0x00,", + } + return font \ No newline at end of file diff --git a/Translation Editor/make_translation.py b/Translation Editor/make_translation.py index 55f9a6bb..7ec28c92 100644 --- a/Translation Editor/make_translation.py +++ b/Translation Editor/make_translation.py @@ -1,14 +1,14 @@ -#!/usr/bin/env python - +#!/usr/bin/env python3 +#coding=utf-8 from __future__ import print_function import json import os import io import sys - +import fontTables TRANSLATION_CPP = "Translation.cpp" -try : +try: to_unicode = unicode except NameError: to_unicode = str @@ -28,13 +28,13 @@ def loadJson(fileName, skipFirstLine): # Reading all language translations into a dictionary by langCode def readTranslations(jsonDir): langDict = {} - + # Read all translation files from the input dir for fileName in os.listdir(jsonDir): - + fileWithPath = os.path.join(jsonDir, fileName) lf = fileName.lower() - + # Read only translation_XX.json if lf.startswith("translation_") and lf.endswith(".json"): try: @@ -54,15 +54,18 @@ def readTranslations(jsonDir): # ...cause they should be the same! if langCode != langCodeFromJson: - raise ValueError("Invalid languageCode " + langCodeFromJson + " in file " + fileName) - + raise ValueError("Invalid languageCode " + langCodeFromJson + + " in file " + fileName) + langDict[langCode] = lang - + return langDict def writeStart(f): - f.write(to_unicode("""// WARNING: THIS FILE WAS AUTO GENERATED BY make_translation.py. PLEASE DO NOT EDIT. + f.write( + to_unicode( + """// WARNING: THIS FILE WAS AUTO GENERATED BY make_translation.py. PLEASE DO NOT EDIT. #include "Translation.h" #ifndef LANG @@ -75,71 +78,283 @@ def escapeC(s): return s.replace("\"", "\\\"") +def getConstants(): + # Extra constants that are used in the firmware that are shared across all languages + consants =[] + consants.append(('SymbolPlus','+')) + consants.append(('SymbolMinus','-')) + consants.append(('SymbolSpace',' ')) + consants.append(('SymbolDot','.')) + consants.append(('SymbolDegC','C')) + consants.append(('SymbolDegF','F')) + consants.append(('SymbolMinutes','M')) + consants.append(('SymbolSeconds','S')) + consants.append(('SymbolWatts','W')) + consants.append(('SymbolVolts','V')) + consants.append(('SymbolDC','DC')) + consants.append(('SymbolCellCount','S')) + consants.append(('SymbolVersionNumber','V2.06')) + return consants +def getTipModelEnumTS80(): + constants = [] + constants.append("B02") + constants.append("D25") + constants.append("TS80") # end of miniware + constants.append("User") # User + return constants + +def getTipModelEnumTS100(): + constants = [] + constants.append("B02") + constants.append("D24") + constants.append("BC2") + constants.append(" C1") + constants.append("TS100")# end of miniware + constants.append("BC2") + constants.append("Hakko")# end of hakko + constants.append("User") + return constants + + +def getLetterCounts(defs, lang): + textList = [] + #iterate over all strings + obj = lang['menuOptions'] + for mod in defs['menuOptions']: + eid = mod['id'] + textList.append(obj[eid]['desc']) + + obj = lang['messages'] + for mod in defs['messages']: + eid = mod['id'] + if eid not in obj: + textList.append(mod['default']) + else: + textList.append(obj[eid]) + + obj = lang['characters'] + + for mod in defs['characters']: + eid = mod['id'] + textList.append(obj[eid]) + + obj = lang['menuOptions'] + for mod in defs['menuOptions']: + eid = mod['id'] + if lang['menuDouble']: + textList.append(obj[eid]['text2'][0]) + textList.append(obj[eid]['text2'][1]) + else: + textList.append(obj[eid]['text']) + + obj = lang['menuGroups'] + for mod in defs['menuGroups']: + eid = mod['id'] + textList.append(obj[eid]['text2'][0]) + textList.append(obj[eid]['text2'][1]) + + obj = lang['menuGroups'] + for mod in defs['menuGroups']: + eid = mod['id'] + textList.append(obj[eid]['desc']) + constants = getConstants() + for x in constants: + textList.append(x[1]) + textList.extend(getTipModelEnumTS100()) + textList.extend(getTipModelEnumTS80()) + + # collapse all strings down into the composite letters and store totals for these + + symbolCounts = {} + for line in textList: + line = line.replace('\n', '').replace('\r', '') + line = line.replace('\\n', '').replace('\\r', '') + if len(line): + #print(line) + for letter in line: + symbolCounts[letter] = symbolCounts.get(letter, 0) + 1 + symbolCounts = sorted( + symbolCounts.items(), + key=lambda kv: kv[1]) # swap to Big -> little sort order + symbolCounts = list(map(lambda x: x[0], symbolCounts)) + symbolCounts.reverse() + return symbolCounts + + + +def getFontMapAndTable(textList): + # the text list is sorted + # allocate out these in their order as number codes + symbolMap = {} + symbolMap['\n'] = '\\x01' + index = 2 # start at 2, as 0= null terminator,1 = new line + forcedFirstSymbols = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] + #enforce numbers are first + for sym in forcedFirstSymbols: + symbolMap[sym] = "\\x%0.2X" % index + index = index + 1 + if len(textList) > (253 - len(forcedFirstSymbols)): + print('Error, too many used symbols for this version') + exit(1) + print('Generating fonts for {} symbols'.format(len(textList))) + + for sym in textList: + if sym not in symbolMap: + symbolMap[sym] = "\\x%0.2X" % index + index = index + 1 + # Get the font table + fontTableStrings = [] + fontSmallTableStrings = [] + fontTable = fontTables.getFontMap() + fontSmallTable = fontTables.getSmallFontMap() + for sym in forcedFirstSymbols: + if sym not in fontTable: + print('Missing Large font element for {}'.format(sym)) + exit(1) + fontLine = fontTable[sym] + fontTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym)) + if sym not in fontSmallTable: + print('Missing Small font element for {}'.format(sym)) + exit(1) + fontLine = fontSmallTable[sym] + fontSmallTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym)) + + for sym in textList: + if sym not in fontTable: + print('Missing Large font element for {}'.format(sym)) + exit(1) + if sym not in forcedFirstSymbols: + fontLine = fontTable[sym] + fontTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym)) + if sym not in fontSmallTable: + print('Missing Small font element for {}'.format(sym)) + exit(1) + fontLine = fontSmallTable[sym] + fontSmallTableStrings.append(fontLine + "//{} -> {}".format(symbolMap[sym],sym)) + outputTable = "const uint8_t USER_FONT_12[] = {" + to_unicode("\n") + for line in fontTableStrings: + # join font table int one large string + outputTable = outputTable + line + to_unicode("\n") + outputTable = outputTable + "};" + to_unicode("\n") + outputTable = outputTable + "const uint8_t USER_FONT_6x8[] = {" + to_unicode( + "\n") + for line in fontSmallTableStrings: + # join font table int one large string + outputTable = outputTable + line + to_unicode("\n") + outputTable = outputTable + "};" + to_unicode("\n") + return (outputTable, symbolMap) + + +def convStr(symbolConversionTable, text): + # convert all of the symbols from the string into escapes for their content + outputString = "" + for c in text.replace('\\r', '').replace('\\n','\n'): + if c not in symbolConversionTable: + print('Missing font definition for {}'.format(c)) + else: + outputString = outputString + symbolConversionTable[c] + return outputString + + def writeLanguage(languageCode, defs, f): print("Generating block for " + languageCode) lang = langDict[languageCode] - + #Iterate over all of the text to build up the symbols & counts + textList = getLetterCounts(defs, lang) + # From the letter counts, need to make a symbol translator & write out the font + (fontTableText, symbolConversionTable) = getFontMapAndTable(textList) + f.write(to_unicode("\n#ifdef LANG_" + languageCode + "\n")) + f.write(fontTableText) try: langName = lang['languageLocalName'] except KeyError: langName = languageCode - + f.write(to_unicode("// ---- " + langName + " ----\n\n")) - try: - cyrillic = lang['cyrillicGlyphs'] - except KeyError: - cyrillic = False - if cyrillic : - f.write(to_unicode("#define CYRILLIC_GLYPHS\n\n")) - # ----- Writing SettingsDescriptions obj = lang['menuOptions'] f.write(to_unicode("const char* SettingsDescriptions[] = {\n")) - + maxLen = 25 for mod in defs['menuOptions']: eid = mod['id'] if 'feature' in mod: f.write(to_unicode("#ifdef " + mod['feature'] + "\n")) f.write(to_unicode(" /* " + eid.ljust(maxLen)[:maxLen] + " */ ")) - f.write(to_unicode("\"" + escapeC(obj[eid]['desc']) + "\",\n")) + f.write( + to_unicode("\"" + + convStr(symbolConversionTable, (obj[eid]['desc'])) + + "\"," + "//{} \n".format(obj[eid]['desc']))) if 'feature' in mod: f.write(to_unicode("#endif\n")) f.write(to_unicode("};\n\n")) - + # ----- Writing Message strings - + obj = lang['messages'] - + for mod in defs['messages']: eid = mod['id'] - f.write(to_unicode("const char* " + eid + " = \"" + escapeC(obj[eid]) + "\";\n")) + if eid not in obj: + f.write( + to_unicode("const char* " + eid + " = \"" + + convStr(symbolConversionTable, (mod['default'])) + "\";"+ "//{} \n".format(mod['default']))) + else: + f.write( + to_unicode("const char* " + eid + " = \"" + + convStr(symbolConversionTable, (obj[eid])) + "\";"+ "//{} \n".format(obj[eid]))) f.write(to_unicode("\n")) # ----- Writing Characters - + obj = lang['characters'] - + for mod in defs['characters']: eid = mod['id'] - f.write(to_unicode("const char " + eid + " = '" + obj[eid] + "';\n")) + f.write( + to_unicode("const char* " + eid + " = \"" + + convStr(symbolConversionTable, obj[eid]) + "\";"+ "//{} \n".format(obj[eid]))) f.write(to_unicode("\n")) + + # Write out firmware constant options + constants = getConstants() + for x in constants: + f.write( + to_unicode("const char* " + x[0] + " = \"" + + convStr(symbolConversionTable, x[1]) + "\";"+ "//{} \n".format(x[1]))) + + f.write(to_unicode("\n")) + # Write out tip model strings + + f.write(to_unicode("const char* TipModelStrings[] = {\n")) + f.write(to_unicode("#ifdef MODEL_TS100\n")) + for c in getTipModelEnumTS100(): + f.write(to_unicode("\t \"" + convStr(symbolConversionTable, c) + "\","+ "//{} \n".format(c))) + f.write(to_unicode("#else\n")) + for c in getTipModelEnumTS80(): + f.write(to_unicode("\t \"" + convStr(symbolConversionTable, c) + "\","+ "//{} \n".format(c))) + f.write(to_unicode("#endif\n")) + + f.write(to_unicode("};\n\n")) # ----- Menu Options # Menu type - f.write(to_unicode("const enum ShortNameType SettingsShortNameType = SHORT_NAME_" + ("DOUBLE" if lang['menuDouble'] else "SINGLE") + "_LINE;\n")) + f.write( + to_unicode( + "const enum ShortNameType SettingsShortNameType = SHORT_NAME_" + + ("DOUBLE" if lang['menuDouble'] else "SINGLE") + "_LINE;\n")) # ----- Writing SettingsDescriptions obj = lang['menuOptions'] f.write(to_unicode("const char* SettingsShortNames[][2] = {\n")) - + maxLen = 25 for mod in defs['menuOptions']: eid = mod['id'] @@ -147,39 +362,58 @@ def writeLanguage(languageCode, defs, f): f.write(to_unicode("#ifdef " + mod['feature'] + "\n")) f.write(to_unicode(" /* " + eid.ljust(maxLen)[:maxLen] + " */ ")) if lang['menuDouble']: - f.write(to_unicode("{ \"" + escapeC(obj[eid]['text2'][0]) + "\", \"" + escapeC(obj[eid]['text2'][1]) + "\" },\n")) + f.write( + to_unicode( + "{ \"" + + convStr(symbolConversionTable, (obj[eid]['text2'][0])) + + "\", \"" + + convStr(symbolConversionTable, (obj[eid]['text2'][1])) + + "\" },"+ "//{} \n".format(obj[eid]['text2']))) else: - f.write(to_unicode("{ \"" + escapeC(obj[eid]['text']) + "\" },\n")) + f.write( + to_unicode("{ \"" + + convStr(symbolConversionTable, (obj[eid]['text'])) + + "\" },"+ "//{} \n".format(obj[eid]['text']))) if 'feature' in mod: f.write(to_unicode("#endif\n")) - + f.write(to_unicode("};\n\n")) # ----- Writing Menu Groups obj = lang['menuGroups'] - f.write(to_unicode("const char* SettingsMenuEntries[" + str(len(obj)) + "] = {\n")) - + f.write( + to_unicode("const char* SettingsMenuEntries[" + str(len(obj)) + + "] = {\n")) + maxLen = 25 for mod in defs['menuGroups']: eid = mod['id'] f.write(to_unicode(" /* " + eid.ljust(maxLen)[:maxLen] + " */ ")) - f.write(to_unicode("\"" + escapeC(obj[eid]['text2'][0] + "\\n" + obj[eid]['text2'][1]) + "\",\n")) - + f.write( + to_unicode("\"" + + convStr(symbolConversionTable, (obj[eid]['text2'][0]) + + "\\n" + obj[eid]['text2'][1]) + "\","+ "//{} \n".format(obj[eid]['text2']))) + f.write(to_unicode("};\n\n")) # ----- Writing Menu Groups Descriptions obj = lang['menuGroups'] - f.write(to_unicode("const char* SettingsMenuEntriesDescriptions[" + str(len(obj)) + "] = {\n")) - + f.write( + to_unicode("const char* SettingsMenuEntriesDescriptions[" + + str(len(obj)) + "] = {\n")) + maxLen = 25 for mod in defs['menuGroups']: eid = mod['id'] f.write(to_unicode(" /* " + eid.ljust(maxLen)[:maxLen] + " */ ")) - f.write(to_unicode("\"" + escapeC(obj[eid]['desc']) + "\",\n")) - + f.write( + to_unicode("\"" + + convStr(symbolConversionTable, (obj[eid]['desc'])) + + "\","+ "//{} \n".format(obj[eid]['desc']))) + f.write(to_unicode("};\n\n")) - # ----- Block end + # ----- Block end f.write(to_unicode("#endif\n")) @@ -218,7 +452,7 @@ def orderOutput(langDict): mandatoryOrder.append(key) return mandatoryOrder - + def writeTarget(outFile, defs, langCodes): # Start writing the file diff --git a/Translation Editor/translation_bg.json b/Translation Editor/translation_bg.json index dad3f1d8..800123a5 100644 --- a/Translation Editor/translation_bg.json +++ b/Translation Editor/translation_bg.json @@ -20,7 +20,8 @@ "IdleSetString": " Set:", "TipDisconnectedString": "ВРЪХ ЛОША ВРЪЗКА", "SolderingAdvancedPowerPrompt": "Захранване: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_cs.json b/Translation Editor/translation_cs.json index 3da69c9e..f5cd3dd0 100644 --- a/Translation Editor/translation_cs.json +++ b/Translation Editor/translation_cs.json @@ -20,7 +20,8 @@ "IdleSetString": " Cíl:", "TipDisconnectedString": "HROT NEPŘIPOJEN", "SolderingAdvancedPowerPrompt": "Ohřev: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "P", diff --git a/Translation Editor/translation_da.json b/Translation Editor/translation_da.json index fc6eb8f6..5403aa0e 100644 --- a/Translation Editor/translation_da.json +++ b/Translation Editor/translation_da.json @@ -20,7 +20,8 @@ "IdleSetString": " Set:", "TipDisconnectedString": "TIP DISCONNECTED", "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "H", diff --git a/Translation Editor/translation_de.json b/Translation Editor/translation_de.json index e8cf89da..dda61505 100644 --- a/Translation Editor/translation_de.json +++ b/Translation Editor/translation_de.json @@ -20,7 +20,8 @@ "IdleSetString": " Soll:", "TipDisconnectedString": "Spitze fehlt", "SolderingAdvancedPowerPrompt": "Leistung: ", - "OffString": "Aus" + "OffString": "Aus", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_en.json b/Translation Editor/translation_en.json index aabf536a..32861e5c 100644 --- a/Translation Editor/translation_en.json +++ b/Translation Editor/translation_en.json @@ -20,7 +20,9 @@ "IdleSetString": " Set:", "TipDisconnectedString": "TIP DISCONNECTED", "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK", + "YourGainMessage":"Your Gain:" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_es.json b/Translation Editor/translation_es.json index 93307586..f287525b 100644 --- a/Translation Editor/translation_es.json +++ b/Translation Editor/translation_es.json @@ -20,7 +20,8 @@ "IdleSetString": " Aj:", "TipDisconnectedString": "SIN PUNTA", "SolderingAdvancedPowerPrompt": "POTENCIA: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_fi.json b/Translation Editor/translation_fi.json index 3374046d..706e817f 100644 --- a/Translation Editor/translation_fi.json +++ b/Translation Editor/translation_fi.json @@ -20,7 +20,8 @@ "IdleSetString": " Asetus:", "TipDisconnectedString": "KÄRKI ON IRTI", "SolderingAdvancedPowerPrompt": "Teho: ", - "OffString": "OFF" + "OffString": "OFF", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "O", diff --git a/Translation Editor/translation_fr.json b/Translation Editor/translation_fr.json index 350ae9a6..d4e686a1 100644 --- a/Translation Editor/translation_fr.json +++ b/Translation Editor/translation_fr.json @@ -20,7 +20,8 @@ "IdleSetString": " Set:", "TipDisconnectedString": "PANNE DÉBRANCHÉE", "SolderingAdvancedPowerPrompt": "Puissance: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_hr.json b/Translation Editor/translation_hr.json index 4ef14df1..64b62fbd 100644 --- a/Translation Editor/translation_hr.json +++ b/Translation Editor/translation_hr.json @@ -20,7 +20,8 @@ "IdleSetString": " / ", "TipDisconnectedString": "VRH NIJE SPOJEN!", "SolderingAdvancedPowerPrompt": "Snaga: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_hu.json b/Translation Editor/translation_hu.json index 0a909db4..e2273b3f 100644 --- a/Translation Editor/translation_hu.json +++ b/Translation Editor/translation_hu.json @@ -20,7 +20,8 @@ "IdleSetString": " Cél:", "TipDisconnectedString": "HEGY LEVÉVE", "SolderingAdvancedPowerPrompt": "Telj: ", - "OffString": "Ki" + "OffString": "Ki", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "J", diff --git a/Translation Editor/translation_it.json b/Translation Editor/translation_it.json index f363b815..9e5103e1 100644 --- a/Translation Editor/translation_it.json +++ b/Translation Editor/translation_it.json @@ -20,7 +20,8 @@ "IdleSetString": "/", "TipDisconnectedString": "PUNTA ASSENTE", "SolderingAdvancedPowerPrompt": "Potenz:", - "OffString": "OFF" + "OffString": "OFF", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_lt.json b/Translation Editor/translation_lt.json index e5e87087..5c3beacb 100644 --- a/Translation Editor/translation_lt.json +++ b/Translation Editor/translation_lt.json @@ -20,7 +20,8 @@ "IdleSetString": " Nust:", "TipDisconnectedString": "ANTGAL ATJUNGTAS", "SolderingAdvancedPowerPrompt": "Maitinimas: ", - "OffString": "Išj" + "OffString": "Išj", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_nl.json b/Translation Editor/translation_nl.json index 445b9f70..eb68b1e2 100644 --- a/Translation Editor/translation_nl.json +++ b/Translation Editor/translation_nl.json @@ -20,7 +20,8 @@ "IdleSetString": " Set:", "TipDisconnectedString": "TIP LOSGEKOPPELD", "SolderingAdvancedPowerPrompt": "vermogen: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_nl_be.json b/Translation Editor/translation_nl_be.json index 0a2d4d60..0ddca73e 100644 --- a/Translation Editor/translation_nl_be.json +++ b/Translation Editor/translation_nl_be.json @@ -20,7 +20,8 @@ "IdleSetString": "Stel in:", "TipDisconnectedString": "Punt ONTKOPPELD", "SolderingAdvancedPowerPrompt": "Vermogen: ", - "OffString": "Uit" + "OffString": "Uit", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_no.json b/Translation Editor/translation_no.json index 039eba42..f4e12682 100644 --- a/Translation Editor/translation_no.json +++ b/Translation Editor/translation_no.json @@ -20,7 +20,8 @@ "IdleSetString": "Set:", "TipDisconnectedString": "SPISS FRAKOBLET", "SolderingAdvancedPowerPrompt": "Effekt: ", - "OffString": "Av" + "OffString": "Av", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "H", diff --git a/Translation Editor/translation_pl.json b/Translation Editor/translation_pl.json index 1c8c4ae9..a71acb9e 100644 --- a/Translation Editor/translation_pl.json +++ b/Translation Editor/translation_pl.json @@ -20,7 +20,8 @@ "IdleSetString": " Ustaw:", "TipDisconnectedString": "GROT ODŁĄCZONY", "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Wyłącz" + "OffString": "Wyłącz", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "P", diff --git a/Translation Editor/translation_pt.json b/Translation Editor/translation_pt.json index c875e384..00c2ac84 100644 --- a/Translation Editor/translation_pt.json +++ b/Translation Editor/translation_pt.json @@ -20,7 +20,8 @@ "IdleSetString": " Aj:", "TipDisconnectedString": "SEM PONTA", "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_ru.json b/Translation Editor/translation_ru.json index e63176d0..4061da77 100644 --- a/Translation Editor/translation_ru.json +++ b/Translation Editor/translation_ru.json @@ -20,7 +20,8 @@ "IdleSetString": " ->", "TipDisconnectedString": "Жало отключено", "SolderingAdvancedPowerPrompt": "Питание: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "П", diff --git a/Translation Editor/translation_sk.json b/Translation Editor/translation_sk.json index 725b973f..0bcb7226 100644 --- a/Translation Editor/translation_sk.json +++ b/Translation Editor/translation_sk.json @@ -20,7 +20,8 @@ "IdleSetString": " Set:", "TipDisconnectedString": "TIP DISCONNECTED", "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_sr_cyrl.json b/Translation Editor/translation_sr_cyrl.json index 9b261dd4..7a040dfb 100644 --- a/Translation Editor/translation_sr_cyrl.json +++ b/Translation Editor/translation_sr_cyrl.json @@ -20,7 +20,8 @@ "IdleSetString": " / ", "TipDisconnectedString": "ВРХ НИЈЕ СПОЈЕН", "SolderingAdvancedPowerPrompt": "Снага: ", - "OffString": "Иск" + "OffString": "Иск", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "Д", diff --git a/Translation Editor/translation_sr_latn.json b/Translation Editor/translation_sr_latn.json index 183ab435..9db6e3a3 100644 --- a/Translation Editor/translation_sr_latn.json +++ b/Translation Editor/translation_sr_latn.json @@ -20,7 +20,8 @@ "IdleSetString": " / ", "TipDisconnectedString": "VRH NIJE SPOJEN", "SolderingAdvancedPowerPrompt": "Snaga: ", - "OffString": "Isk" + "OffString": "Isk", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "D", diff --git a/Translation Editor/translation_sv.json b/Translation Editor/translation_sv.json index cd2eee77..1995cc89 100644 --- a/Translation Editor/translation_sv.json +++ b/Translation Editor/translation_sv.json @@ -20,7 +20,8 @@ "IdleSetString": " Ange:", "TipDisconnectedString": "SPETS URTAGEN", "SolderingAdvancedPowerPrompt": "Ström: ", - "OffString": "Av" + "OffString": "Av", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "H", diff --git a/Translation Editor/translation_tr.json b/Translation Editor/translation_tr.json index cad50547..06c7041f 100644 --- a/Translation Editor/translation_tr.json +++ b/Translation Editor/translation_tr.json @@ -20,7 +20,8 @@ "IdleSetString": " Set:", "TipDisconnectedString": "TIP DISCONNECTED", "SolderingAdvancedPowerPrompt": "Power: ", - "OffString": "Off" + "OffString": "Off", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translation_uk.json b/Translation Editor/translation_uk.json index 0e74557f..c418529d 100644 --- a/Translation Editor/translation_uk.json +++ b/Translation Editor/translation_uk.json @@ -20,7 +20,8 @@ "IdleSetString": " ->", "TipDisconnectedString": "Жало вимкнено!", "SolderingAdvancedPowerPrompt": "Живлення: ", - "OffString": "Вим" + "OffString": "Вим", + "ResetOKMessage":"Reset OK" }, "characters": { "SettingRightChar": "R", diff --git a/Translation Editor/translations_def.js b/Translation Editor/translations_def.js index 8f01eaea..2bfd8792 100644 --- a/Translation Editor/translations_def.js +++ b/Translation Editor/translations_def.js @@ -80,6 +80,15 @@ var def = { "id": "OffString", "maxLen": 3 + }, + { + "id": "ResetOKMessage", + "maxLen": 8 + }, + { + "id": "YourGainMessage", + "maxLen": 8, + "default":"Your Gain" } ], "characters": [ diff --git a/workspace/TS100/Makefile b/workspace/TS100/Makefile index 4771ed64..efd9e6b8 100644 --- a/workspace/TS100/Makefile +++ b/workspace/TS100/Makefile @@ -42,7 +42,7 @@ OPTIM=-Os -flto -ffat-lto-objects -finline-small-functions -findirect-inlining - GLOBAL_DEFINES += -D STM32F103T8Ux -D STM32F1 -D STM32 -D USE_HAL_DRIVER -D STM32F103xB -D USE_RTOS_SYSTICK -D LANG_$(lang) -D LANG -D MODEL_$(model) # Enable debug code generation -DEBUG=-g +DEBUG=-g3 # Without debug code #DEBUG= @@ -55,14 +55,17 @@ LDSCRIPT=LinkerScript.ld # ------------------------------------------------------------------------------ COMPILER=gcc +# arm-none is the general ARM compiler, +# arm-atollic is the atollic customised compilers if you have them setup +COMPILER_PREFIX=arm-none # programs --------------------------------------------------------------------- -CC=arm-none-eabi-gcc -CPP=arm-none-eabi-g++ -AS=arm-none-eabi-as -GCOV=arm-none-eabi-gcov -OBJCOPY=arm-none-eabi-objcopy -OBJDUMP=arm-none-eabi-objdump -SIZE=arm-none-eabi-size +CC=$(COMPILER_PREFIX)-eabi-gcc +CPP=$(COMPILER_PREFIX)-eabi-g++ +AS=$(COMPILER_PREFIX)-eabi-as +GCOV=$(COMPILER_PREFIX)-eabi-gcov +OBJCOPY=$(COMPILER_PREFIX)-eabi-objcopy +OBJDUMP=$(COMPILER_PREFIX)-eabi-objdump +SIZE=$(COMPILER_PREFIX)-eabi-size SREC=srec_cat SREC_INFO=srec_info diff --git a/workspace/TS100/inc/Font.h b/workspace/TS100/inc/Font.h index f67953fb..07139044 100644 --- a/workspace/TS100/inc/Font.h +++ b/workspace/TS100/inc/Font.h @@ -10,469 +10,10 @@ #ifndef FONT_H_ #define FONT_H_ #include "Translation.h" -#ifdef LANG_RU -#ifndef CYRILLIC_GLYPHS -#define CYRILLIC_GLYPHS -#endif -#endif + #define FONT_12_WIDTH 12 +// FONTS ARE NO LONGER HERE, MOVED TO PYTHON AUTO GEN -/* - * Remember screen is LSB at the top, MSB at the bottom of the strip! - */ -const uint8_t FONT_12[]={ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // blank - 0x00,0x00,0x00,0x00,0x7C,0xFF,0xFF,0x7C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x00,0x00,0x00,0x00,0x00, // ! - 0x00,0x00,0x00,0x3C,0x3C,0x00,0x00,0x3C,0x3C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // " - 0x00,0x00,0x10,0x90,0xF0,0x7E,0x1E,0x90,0xF0,0x7E,0x1E,0x10,0x00,0x02,0x1E,0x1F,0x03,0x02,0x1E,0x1F,0x03,0x02,0x00,0x00, // # - 0x00,0x00,0x78,0xFC,0xCC,0xFF,0xFF,0xCC,0xCC,0x88,0x00,0x00,0x00,0x00,0x04,0x0C,0x0C,0x3F,0x3F,0x0C,0x0F,0x07,0x00,0x00, // $ - 0x00,0x00,0x38,0x38,0x38,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x00,0x30,0x38,0x1C,0x0E,0x07,0x03,0x01,0x38,0x38,0x38,0x00, // % - 0x00,0x00,0x00,0xB8,0xFC,0xC6,0xE2,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x31,0x21,0x37,0x1E,0x1C,0x36,0x22,0x00, // & - 0x00,0x00,0x00,0x00,0x27,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ' - 0x00,0x00,0x00,0xF0,0xFC,0xFE,0x07,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x1F,0x38,0x20,0x20,0x00,0x00,0x00, // ( - 0x00,0x00,0x00,0x01,0x01,0x07,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x38,0x1F,0x0F,0x03,0x00,0x00,0x00, // ) - 0x00,0x00,0x98,0xB8,0xE0,0xF8,0xF8,0xE0,0xB8,0x98,0x00,0x00,0x00,0x00,0x0C,0x0E,0x03,0x0F,0x0F,0x03,0x0E,0x0C,0x00,0x00, // * - 0x00,0x00,0x80,0x80,0x80,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0F,0x0F,0x01,0x01,0x01,0x00,0x00, // + - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xB8,0xF8,0x78,0x00,0x00,0x00,0x00,0x00, // , - 0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00, // - - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x38,0x38,0x00,0x00,0x00,0x00,0x00, // . - 0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x00,0x18,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00, // / - //V16 - 0x00,0xF8,0xFE,0x06,0x03,0x83,0xC3,0x63,0x33,0x1E,0xFE,0xF8,0x00,0x07,0x1F,0x1E,0x33,0x31,0x30,0x30,0x30,0x18,0x1F,0x07, // 0 - 0x00,0x00,0x00,0x0C,0x0C,0x0E,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x3F,0x3F,0x30,0x30,0x30,0x00, // 1 - 0x00,0x1C,0x1E,0x07,0x03,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x30, // 2 - 0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0x7E,0x3C,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0E, // 3 - 0x00,0xC0,0xE0,0x70,0x38,0x1C,0x0E,0x07,0xFF,0xFF,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x03,0x03, // 4 - 0x00,0x3F,0x7F,0x63,0x63,0x63,0x63,0x63,0x63,0xE3,0xC3,0x83,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F, // 5 - 0x00,0xC0,0xF0,0xF8,0xDC,0xCE,0xC7,0xC3,0xC3,0xC3,0x80,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F, // 6 - 0x00,0x03,0x03,0x03,0x03,0x03,0x03,0xC3,0xF3,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00, // 7 - 0x00,0x00,0xBC,0xFE,0xE7,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x0F,0x1F,0x39,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F, // 8 - 0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xFC,0x00,0x00,0x00,0x30,0x30,0x30,0x38,0x1C,0x0E,0x07,0x03,0x00, // 9 - 0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x1C,0x1C,0x00,0x00,0x00,0x00,0x00, // : - 0x00,0x00,0x00,0x00,0x70,0x70,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x9C,0xFC,0x7C,0x00,0x00,0x00,0x00,0x00, // ; - 0x00,0x00,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00,0x00, // < - 0x00,0x00,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x00, // = - 0x00,0x00,0x03,0x07,0x0E,0x1C,0x38,0xF0,0xE0,0xC0,0x00,0x00,0x00,0x00,0x30,0x38,0x1C,0x0E,0x07,0x03,0x01,0x00,0x00,0x00, // > - 0x00,0x1C,0x1E,0x07,0x03,0x83,0xC3,0xE3,0x77,0x3E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x37,0x00,0x00,0x00,0x00,0x00, // ? - //V 32 - 0x00,0xF8,0xFE,0x07,0xF3,0xFB,0x1B,0xFB,0xFB,0x07,0xFE,0xF8,0x00,0x0F,0x1F,0x18,0x33,0x37,0x36,0x37,0x37,0x36,0x03,0x01, // @ - 0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00, // A - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // B - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // C - 0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // D - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // E - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // F - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC7,0xC6,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00, // G - 0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // H - 0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // I - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // J - 0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00, // K - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // L - 0x00,0xFF,0xFF,0x1E,0x78,0xE0,0xE0,0x78,0x1E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x01,0x00,0x00,0x3F,0x3F,0x00, // M - 0x00,0xFF,0xFF,0x0E,0x38,0xF0,0xC0,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00, // N - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // O - //V 48 - 0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00, // P - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x36,0x3E,0x1C,0x3F,0x33,0x00, // Q - 0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00, // R - 0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC7,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // S - 0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // T - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // U - 0x00,0x07,0x3F,0xF8,0xC0,0x00,0x00,0xC0,0xF8,0x3F,0x07,0x00,0x00,0x00,0x00,0x01,0x0F,0x3E,0x3E,0x0F,0x01,0x00,0x00,0x00, // V - 0x00,0xFF,0xFF,0x00,0x00,0x80,0x80,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x06,0x03,0x03,0x06,0x1C,0x3F,0x3F,0x00, // W - 0x00,0x03,0x0F,0x1C,0x30,0xE0,0xE0,0x30,0x1C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0E,0x03,0x01,0x01,0x03,0x0E,0x3C,0x30,0x00, // X - 0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Y - 0x00,0x03,0x03,0x03,0x03,0xC3,0xE3,0x33,0x1F,0x0F,0x03,0x00,0x00,0x30,0x3C,0x3E,0x33,0x31,0x30,0x30,0x30,0x30,0x30,0x00, // Z - 0x00,0x00,0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00, // [ - 0x00,0x0E,0x1C,0x38,0x70,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0E,0x1C,0x18, // backslash - 0x00,0x00,0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00,0x00,0x00, // ] - 0x00,0x60,0x70,0x38,0x1C,0x0E,0x07,0x0E,0x1C,0x38,0x70,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ^ - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0, // _ - //V64 - 0x00,0x00,0x00,0x00,0x00,0x3E,0x7E,0x4E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ` - 0x00,0x00,0x40,0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // a - 0x00,0xFF,0xFF,0xC0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // b - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00, // c - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xC0,0xFF,0xFF,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00, // d - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00, // e - 0x00,0xC0,0xC0,0xFC,0xFE,0xC7,0xC3,0xC3,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // f - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00, // g - 0x00,0xFF,0xFF,0xC0,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00, // h - 0x00,0x00,0x00,0x00,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // i - 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00, // j - 0x00,0x00,0xFF,0xFF,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x07,0x0F,0x1C,0x38,0x30,0x00,0x00, // k - 0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // l - 0x00,0xE0,0xC0,0xE0,0xE0,0xC0,0xC0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00,0x00,0x3F,0x3F,0x00, // m - 0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // n - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // o - //V80 - 0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x0C,0x18,0x18,0x18,0x18,0x1C,0x0F,0x07,0x00, // p - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x00,0x00,0x07,0x0F,0x1C,0x18,0x18,0x18,0x18,0x0C,0xFF,0xFF,0x00, // q - 0x00,0x00,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // r - 0x00,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00, // s - 0x00,0x60,0x60,0xFE,0xFE,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00, // t - 0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // u - 0x00,0x60,0xE0,0x80,0x00,0x00,0x00,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x01,0x07,0x1E,0x38,0x38,0x1E,0x07,0x01,0x00,0x00, // v - 0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0xE0,0xE0,0x00,0x00,0x07,0x1F,0x38,0x1C,0x0F,0x0F,0x1C,0x38,0x1F,0x07,0x00, // w - 0x00,0x60,0xE0,0xC0,0x80,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x0F,0x1D,0x38,0x30,0x00,0x00, // x - 0x00,0x00,0x60,0xE0,0x80,0x00,0x00,0x80,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00, // y - 0x00,0x60,0x60,0x60,0x60,0x60,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00, // z - 0x00,0x00,0x80,0xC0,0xFC,0x7E,0x07,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x01,0x1F,0x3F,0x70,0x60,0x60,0x60,0x00,0x00, // { - 0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // | - 0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00, // } - 0x00,0x10,0x18,0x0C,0x04,0x0C,0x18,0x10,0x18,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ~ - 0x00,0x00,0x80,0xC0,0x60,0x30,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x0F,0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x00, // Up triangle - - /*Start extended Latin range*/ - //V96 ---- HALF-PAGE U+00A0-U+00BF (UTF 0xC2A0-0xC2BF) ---- - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c2 a0 - 0x00,0x00,0x00,0x00,0x80,0xF3,0xF3,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x3F,0x3F,0x0F,0x00,0x00,0x00,0x00, // ¡ c2 a1 - 0x00,0x00,0xE0,0xF0,0x38,0xFE,0xFE,0x18,0x38,0x30,0x00,0x00,0x00,0x00,0x03,0x07,0x0E,0x3F,0x3F,0x0C,0x0E,0x06,0x00,0x00, // ¢ c2 a2 - 0x00,0x00,0x00,0x80,0xF8,0xFC,0x8C,0x8C,0x1C,0x18,0x00,0x00,0x00,0x00,0x18,0x1C,0x1F,0x0B,0x18,0x18,0x18,0x18,0x08,0x00, // £ c2 a3 - 0x00,0xF6,0xFE,0x18,0x0C,0x0C,0x0C,0x0C,0x18,0xFE,0xF6,0x00,0x00,0x1B,0x1F,0x06,0x0C,0x0C,0x0C,0x0C,0x06,0x1F,0x1B,0x00, // ¤ c2 a4 - 0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x00,0x0A,0x0A,0x0A,0x3F,0x3F,0x0A,0x0A,0x0A,0x00,0x00, // ¥ c2 a5 - 0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // ¦ c2 a6 - 0x00,0x00,0xDC,0xFE,0x22,0x22,0x22,0x22,0xE6,0xC4,0x00,0x00,0x00,0x00,0x08,0x19,0x11,0x11,0x11,0x11,0x1F,0x0E,0x00,0x00, // § c2 a7 - 0x00,0x00,0x00,0x03,0x03,0x00,0x00,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ¨ c2 a8 - 0x00,0xF0,0xF8,0x1C,0xCC,0xEC,0x2C,0x6C,0x4C,0x1C,0xF8,0xF0,0x00,0x07,0x0F,0x1C,0x19,0x1B,0x1A,0x1B,0x19,0x1C,0x0F,0x07, // © c2 a9 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c2 aa - 0x00,0x80,0xC0,0x60,0x20,0x00,0x80,0xC0,0x60,0x20,0x00,0x00,0x00,0x00,0x01,0x03,0x02,0x00,0x00,0x01,0x03,0x02,0x00,0x00, // « c2 ab - 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xF8,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x00, // ¬ c2 ac - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c2 ad - 0x00,0xF0,0xF8,0x1C,0xEC,0xEC,0xAC,0xEC,0x4C,0x1C,0xF8,0xF0,0x00,0x07,0x0F,0x1C,0x1B,0x1B,0x18,0x1B,0x1B,0x1C,0x0F,0x07, // ® c2 ae - 0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ¯ c2 af - //V112 - 0x00,0x00,0x00,0x1E,0x3F,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ° c2 b0 - 0x00,0x00,0x00,0xC0,0xC0,0xF0,0xF0,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x1B,0x1B,0x18,0x18,0x00,0x00,0x00, // ± c2 b1 - 0x00,0x00,0x19,0x1D,0x15,0x17,0x12,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ² c2 b2 - 0x00,0x00,0x11,0x15,0x15,0x1F,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ³ c2 b3 - 0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ´ c2 b4 - 0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0xFF,0xFF,0x0E,0x0C,0x0C,0x0C,0x06,0x0F,0x0F,0x00,0x00, // µ c2 b5 - 0x00,0x38,0x7C,0xC6,0x82,0xFE,0xFE,0x02,0xFE,0xFE,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x3F,0x3F,0x00,0x00, // ¶ c2 b6 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c2 b7 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c2 b8 - 0x00,0x00,0x12,0x1F,0x1F,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ¹ c2 b9 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c2 ba - 0x00,0x20,0x60,0xC0,0x80,0x00,0x20,0x60,0xC0,0x80,0x00,0x00,0x00,0x02,0x03,0x01,0x00,0x00,0x02,0x03,0x01,0x00,0x00,0x00, // » c2 bb - 0x00,0x48,0x7C,0x7C,0x40,0x80,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x06,0x07,0x04,0x1F,0x1F,0x00, // ¼ c2 bc - 0x00,0x48,0x7C,0x7C,0x40,0x80,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x00,0x19,0x1D,0x17,0x12,0x00, // ½ c2 bd - 0x00,0x44,0x54,0x7C,0x28,0x80,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x06,0x07,0x04,0x1F,0x1F,0x00, // ¾ c2 be - 0x00,0x00,0x00,0x80,0xC0,0xFB,0x7B,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x1F,0x3B,0x31,0x30,0x30,0x30,0x38,0x1E,0x0E,0x00, // ¿ c2 bf - - //V128 ---- PAGE U+00C0-U+00FF (UTF 0xC380-0xC3BF) ---- - 0x00,0x00,0x00,0x80,0xE1,0x7B,0x7E,0xE4,0x80,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00, // À c3 80 - 0x00,0x00,0x00,0x80,0xE4,0x7E,0x7B,0xE1,0x80,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00, // Á c3 81 - 0x00,0x00,0x00,0x84,0xE6,0x7B,0x7B,0xE6,0x84,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00, //  c3 82 - 0x00,0x00,0x00,0x82,0xE3,0x79,0x7B,0xE2,0x83,0x01,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00, // à c3 83 - 0x00,0x00,0x00,0x83,0xE3,0x78,0x78,0xE3,0x83,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00, // Ä c3 84 - 0x00,0x00,0x00,0x80,0xE2,0x75,0x75,0xE2,0x80,0x00,0x00,0x00,0x00,0x38,0x3E,0x0F,0x0D,0x0C,0x0C,0x0D,0x0F,0x3E,0x38,0x00, // Å c3 85 - 0x00,0x00,0x80,0xF0,0x7C,0x1F,0xFF,0xFF,0xC3,0xC3,0x03,0x00,0x00,0x3C,0x3F,0x07,0x06,0x06,0x3F,0x3F,0x30,0x30,0x30,0x00, // Æ c3 86 - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x1E,0x1C,0x00,0x00,0x01,0x07,0xCE,0xDC,0xF8,0xF8,0x18,0x1C,0x0E,0x06,0x00, // Ç c3 87 - 0x00,0xF8,0xF8,0x99,0x9B,0x9E,0x9C,0x98,0x98,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // È c3 88 - 0x00,0xF8,0xF8,0x98,0x98,0x9C,0x9E,0x9B,0x99,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // É c3 89 - 0x00,0xF8,0xF8,0x9C,0x9E,0x9B,0x9B,0x9E,0x9C,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ê c3 8a - 0x00,0xF8,0xF8,0x9B,0x9B,0x98,0x98,0x9B,0x9B,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ë c3 8b - 0x00,0x00,0x00,0x19,0x1B,0xFE,0xFC,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Ì c3 8c - 0x00,0x00,0x00,0x18,0x18,0xFC,0xFE,0x1B,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Í c3 8d - 0x00,0x00,0x00,0x1C,0x1E,0xFB,0xFB,0x1E,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Î c3 8e - 0x00,0x00,0x00,0x1B,0x1B,0xF8,0xF8,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Ï c3 8f - //V144 - 0x00,0xC0,0xFF,0xFF,0xC3,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // Ð c3 90 - 0x00,0xF8,0xF8,0x72,0xE3,0xC1,0x83,0x02,0x03,0xF9,0xF8,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x03,0x07,0x0E,0x3F,0x3F,0x00, // Ñ c3 91 - 0x00,0xE0,0xF0,0x39,0x1B,0x1E,0x1C,0x18,0x38,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // Ò c3 92 - 0x00,0xE0,0xF0,0x38,0x18,0x1C,0x1E,0x1B,0x39,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // Ó c3 93 - 0x00,0xE0,0xF0,0x3C,0x1E,0x1B,0x1B,0x1E,0x3C,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // Ô c3 94 - 0x00,0xE0,0xF0,0x3A,0x1B,0x19,0x1B,0x1A,0x3B,0xF1,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // Õ c3 95 - 0x00,0xE0,0xF0,0x3B,0x1B,0x18,0x18,0x1B,0x3B,0xF0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // Ö c3 96 - 0x00,0x00,0x10,0x30,0x60,0xC0,0xC0,0x60,0x30,0x10,0x00,0x00,0x00,0x00,0x04,0x06,0x03,0x01,0x01,0x03,0x06,0x04,0x00,0x00, // × c3 97 - 0x00,0xF0,0xF8,0x1C,0x0C,0x8C,0xEC,0x7C,0x18,0xFC,0xF4,0x00,0x00,0x2F,0x3F,0x18,0x3E,0x37,0x31,0x30,0x38,0x1F,0x0F,0x00, // × c3 98 - 0x00,0xF8,0xF8,0x01,0x03,0x06,0x04,0x00,0x00,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ù c3 99 - 0x00,0xF8,0xF8,0x00,0x00,0x04,0x06,0x03,0x01,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ú c3 9a - 0x00,0xF8,0xF8,0x04,0x06,0x03,0x03,0x06,0x04,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Û c3 9b - 0x00,0xF8,0xF8,0x03,0x03,0x00,0x00,0x03,0x03,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ü c3 9c - 0x00,0x08,0x18,0x30,0x60,0xC4,0xC6,0x63,0x31,0x18,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Ý c3 9d - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c3 9e - 0x00,0x00,0xC0,0xE0,0x30,0x10,0x10,0x30,0xE0,0xC0,0x00,0x00,0x00,0x00,0xFF,0xFF,0x21,0x21,0x21,0x33,0x3F,0x1E,0x00,0x00, // ß c3 9f - //V160 - 0x00,0x00,0x40,0x60,0x62,0x66,0x6C,0x68,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // à c3 a0 - 0x00,0x00,0x40,0x60,0x68,0x6C,0x66,0x62,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // á c3 a1 - 0x00,0x00,0x40,0x68,0x6C,0x66,0x66,0x6C,0x68,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // â c3 a2 - 0x00,0x00,0x40,0x68,0x6C,0x64,0x6C,0x68,0x6C,0xE4,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // ã c3 a3 - 0x00,0x00,0x40,0x6C,0x6C,0x60,0x60,0x6C,0x6C,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // ä c3 a4 - 0x00,0x00,0x40,0x60,0x64,0x6A,0x6A,0x64,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // å c3 a5 - 0x00,0x80,0xC0,0x40,0x40,0xC0,0x80,0x40,0x40,0xC0,0x80,0x00,0x00,0x1C,0x3E,0x22,0x22,0x1F,0x3F,0x22,0x22,0x33,0x11,0x00, // æ c3 a6 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0xB8,0xB0,0xF0,0xF0,0x30,0x38,0x18,0x08,0x00, // ç c3 a7 - 0x00,0x80,0xC0,0xE0,0x62,0x66,0x6C,0x68,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x33,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00, // è c3 a8 - 0x00,0x80,0xC0,0xE0,0x60,0x68,0x6C,0x66,0x62,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00, // é c3 a9 - 0x00,0x80,0xC0,0xE8,0x6C,0x66,0x66,0x6C,0x68,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x33,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00, // ê c3 aa - 0x00,0x80,0xC0,0xEC,0x6C,0x60,0x60,0x6C,0x6C,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x33,0x33,0x33,0x33,0x33,0x33,0x13,0x03,0x00, // ë c3 ab - 0x00,0x00,0x00,0x00,0x62,0xE6,0xEC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ì c3 ac - 0x00,0x00,0x00,0x00,0x68,0xEC,0xE6,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // í c3 ad - 0x00,0x00,0x00,0x08,0x6C,0xE6,0xE6,0x0C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // î c3 ae - 0x00,0x00,0x00,0x0C,0x6C,0xE0,0xEC,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ï c3 af - //V176 - 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // c3 b0 - 0x00,0x00,0xE0,0xE8,0x6C,0x64,0x6C,0x68,0xEC,0xC4,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // ñ c3 b1 - 0x00,0x80,0xC0,0xE0,0x62,0x66,0x6C,0x68,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ò c3 b2 - 0x00,0x80,0xC0,0xE0,0x68,0x6C,0x66,0x62,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ó c3 b3 - 0x00,0x80,0xC0,0xE8,0x6C,0x66,0x66,0x6C,0xE8,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ô c3 b4 - 0x00,0x80,0xC8,0xEC,0x64,0x6C,0x68,0x6C,0xE4,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // õ c3 b5 - 0x00,0x80,0xC0,0xEC,0x6C,0x60,0x60,0x6C,0xEC,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ö c3 b6 - 0x00,0x00,0x80,0x80,0x80,0xB0,0xB0,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x0D,0x0D,0x01,0x01,0x01,0x00,0x00, // ÷ c3 b7 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xE0,0xC0,0xE0,0xA0,0x00,0x00,0x2F,0x3F,0x18,0x3C,0x36,0x33,0x31,0x38,0x1F,0x0F,0x00, // ø c3 b8 - 0x00,0xE0,0xE0,0x00,0x02,0x06,0x0C,0x08,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ù c3 b9 - 0x00,0xE0,0xE0,0x00,0x08,0x0C,0x06,0x02,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ú c3 ba - 0x00,0xE0,0xE0,0x08,0x0C,0x06,0x06,0x0C,0x08,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // û c3 bb - 0x00,0xE0,0xE0,0x0C,0x0C,0x00,0x00,0x0C,0x0C,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ü c3 bc - 0x00,0x00,0x60,0xE0,0x80,0x10,0x18,0x8C,0xE4,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00, // ý c3 bd - 0x00,0x00,0x03,0xFF,0xFF,0x1B,0x18,0x18,0xF8,0xF0,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x36,0x06,0x06,0x07,0x03,0x00,0x00, // þ c3 be - 0x00,0x00,0x60,0xEC,0x8C,0x00,0x00,0x8C,0xEC,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00, // ÿ c3 bf -#ifdef CYRILLIC_GLYPHS - /* Cyrillic Glyphs */ - //V192 ---- PAGE U+0400-U+043F (UTF 0xD080-0xD0BF) ---- - 0x00,0xFC,0xFC,0x8D,0x8F,0x8E,0x8C,0x8C,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ѐ d0 80 - 0x00,0xFE,0xFE,0xC7,0xC7,0xC6,0xC6,0xC7,0xC7,0x06,0x06,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ё d0 81 - 0x00,0x03,0xFF,0xFF,0x83,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x30,0x30,0x39,0x1F,0x0F,0x00, // Ђ d0 82 - 0x00,0xFC,0xFC,0x0C,0x0C,0x0C,0x0E,0x0F,0x0D,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Ѓ d0 83 - 0x00,0xF8,0xFC,0xCE,0xC7,0xC3,0xC3,0xC3,0x07,0x0E,0x0C,0x00,0x00,0x07,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // Є d0 84 - 0x00,0x3C,0x7E,0x67,0xE3,0xC3,0xC3,0xC3,0x87,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x31,0x39,0x1F,0x0F,0x00, // Ѕ d0 85 - 0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // І d0 86 - 0x00,0x00,0x00,0x0D,0x0D,0xFC,0xFC,0x0D,0x0D,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Ї d0 87 - 0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // Ј d0 88 - 0x00,0x00,0xFE,0xFF,0x03,0x03,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F, // Љ d0 89 - 0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xFF,0xFF,0xC0,0xC0,0x80,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x3F,0x3F,0x30,0x39,0x1F,0x0F, // Њ d0 8a - 0x00,0x03,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x00,0x00,0x00,0x01,0x3F,0x3F,0x00, // Ћ d0 8b - 0x00,0xFF,0xFF,0xC0,0xE2,0xF3,0x39,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00, // Ќ d0 8c - 0x00,0xFF,0xFF,0x00,0x01,0xC3,0xF2,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00, // Ѝ d0 8d - 0x00,0x07,0x1F,0x7C,0xF1,0xC1,0xC1,0xF1,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00, // Ў d0 8e - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x78,0x78,0x18,0x18,0x1F,0x1F,0x00, // Џ d0 8f - //V208 - 0x00,0x80,0xE0,0x78,0x1E,0x07,0x07,0x1E,0x78,0xE0,0x80,0x00,0x00,0x3F,0x3F,0x06,0x06,0x06,0x06,0x06,0x06,0x3F,0x3F,0x00, // A d0 90 - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x83,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // Б d0 91 - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0xBC,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // В d0 92 - 0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Г d0 93 - 0x00,0x00,0xF8,0xFE,0x0F,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x00,0x70,0x7F,0x1F,0x18,0x18,0x18,0x18,0x1F,0x7F,0x70,0x00, // Д d0 94 - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Е d0 95 - 0x00,0x03,0x0F,0xFC,0xE0,0xFF,0xFF,0xE0,0xFC,0x0F,0x03,0x00,0x00,0x38,0x3F,0x07,0x00,0x3F,0x3F,0x00,0x07,0x3F,0x38,0x00, // Ж d0 96 - 0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC3,0xE7,0xFE,0x3C,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // 3 d0 97 - 0x00,0xFF,0xFF,0x00,0x00,0xC0,0xF0,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00, // И d0 98 - 0x00,0xFF,0xFF,0x00,0x02,0xC3,0xF1,0x38,0x0E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x1C,0x07,0x03,0x00,0x00,0x00,0x3F,0x3F,0x00, // Й d0 99 - 0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x07,0x0E,0x1C,0x38,0x30,0x00, // К d0 9a - 0x00,0x00,0xF0,0xFC,0x1E,0x07,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // Л d0 9b - 0x00,0xFF,0xFF,0x1E,0x78,0xE0,0xE0,0x78,0x1E,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x01,0x01,0x00,0x00,0x3F,0x3F,0x00, // М d0 9c - 0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // Н d0 9d - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // О d0 9e - 0x00,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // П d0 9f - //V224 - 0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00, // Р d0 a0 - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0x03,0x03,0x07,0x0E,0x0C,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // С d0 a1 - 0x00,0x03,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Т d0 a2 - 0x00,0x07,0x1F,0x7C,0xF0,0xC0,0xC0,0xF0,0x7C,0x1F,0x07,0x00,0x00,0x00,0x30,0x30,0x3C,0x0F,0x07,0x01,0x00,0x00,0x00,0x00, // У d0 a3 - 0x00,0xF8,0xFC,0x0E,0x06,0xFF,0xFF,0x06,0x0E,0xFC,0xF8,0x00,0x00,0x03,0x07,0x0E,0x0C,0x3F,0x3F,0x0C,0x0E,0x07,0x03,0x00, // Ф d0 a4 - 0x00,0x03,0x0F,0x3C,0xF0,0xC0,0xC0,0xF0,0x3C,0x0F,0x03,0x00,0x00,0x30,0x3C,0x0F,0x03,0x00,0x00,0x03,0x0F,0x3C,0x30,0x00, // Х d0 a5 - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x00,0x1F,0x1F,0x18,0x18,0x18,0x18,0x18,0x1F,0x7F,0x78,0x00, // Ц d0 a6 - 0x00,0x7F,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // Ч d0 a7 - 0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00, // Ш d0 a8 - 0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF,0x00,0x00,0x1F,0x1F,0x18,0x18,0x1F,0x1F,0x18,0x18,0x1F,0x7F,0x70, // Щ d0 a9 - 0x03,0x03,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // Ъ d0 aa - 0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0xFF,0xFF,0x00,0x3F,0x3F,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00,0x3F,0x3F, // Ы d0 ab - 0x00,0xFF,0xFF,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x39,0x1F,0x0F,0x00, // Ь d0 ac - 0x00,0x0C,0x0E,0x07,0xC3,0xC3,0xC3,0xC7,0xCE,0xFC,0xF8,0x00,0x00,0x0C,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0F,0x07,0x00, // Э d0 ad - 0x00,0xFF,0xFF,0xC0,0xFC,0xFE,0x07,0x03,0x07,0xFE,0xFC,0x00,0x00,0x3F,0x3F,0x00,0x0F,0x1F,0x38,0x30,0x38,0x1F,0x0F,0x00, // Ю d0 ae - 0x00,0x7C,0xFE,0xC7,0x83,0x83,0x83,0x83,0x83,0xFF,0xFF,0x00,0x00,0x30,0x38,0x1D,0x0F,0x07,0x03,0x01,0x01,0x3F,0x3F,0x00, // Я d0 af - //V240 - 0x00,0x00,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1E,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // а d0 b0 - 0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00, // б d0 b1 - 0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x00,0x3F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00, // в d0 b2 - 0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // г d0 b3 - 0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x60,0x7F,0x3F,0x30,0x30,0x30,0x30,0x3F,0x7F,0x60,0x00, // д d0 b4 - 0x00,0xE0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00, // е d0 b5 - 0x00,0x30,0xF0,0xC0,0x00,0xF0,0xF0,0x00,0xC0,0xF0,0x30,0x00,0x00,0x30,0x3C,0x0F,0x03,0x3F,0x3F,0x03,0x0F,0x3C,0x30,0x00, // ж d0 b6 - 0x00,0x60,0x70,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x18,0x38,0x30,0x33,0x33,0x33,0x33,0x33,0x3F,0x1D,0x00, // з d0 b7 - 0x00,0xF0,0xF0,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00, // и d0 b8 - 0x00,0xF0,0xF0,0x00,0x04,0x08,0x88,0xC4,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00, // й d0 b9 - 0x00,0xF0,0xF0,0x80,0x80,0xC0,0xE0,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00, // к d0 ba - 0x00,0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // л d0 bb - 0x00,0xF0,0xF0,0xE0,0xC0,0x80,0x80,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x01,0x03,0x03,0x01,0x00,0x3F,0x3F,0x00, // м d0 bc - 0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00, // н d0 bd - 0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // о d0 be - 0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // п d0 bf - - //V256 ---- HALF-PAGE U+0440-U+045F (UTF 0xD180-0xD1BF) ---- - 0x00,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0xFF,0xFF,0x0C,0x0C,0x0C,0x0C,0x0C,0x0E,0x07,0x03,0x00, // р d1 80 - 0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x18,0x08,0x00, // с d1 81 - 0x00,0x30,0x30,0x30,0x30,0xF0,0xF0,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // т d1 82 - 0x00,0x30,0xF0,0xC0,0x00,0x00,0x00,0x00,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00, // у d1 83 - 0x00,0x80,0xC0,0x60,0x60,0xF0,0xF0,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x30,0x30,0xFF,0xFF,0x30,0x30,0x1F,0x0F,0x00, // ф d1 84 - 0x00,0x30,0x70,0xC0,0x80,0x00,0x00,0x80,0xC0,0x70,0x30,0x00,0x00,0x30,0x38,0x0C,0x07,0x03,0x03,0x07,0x0C,0x38,0x30,0x00, // х d1 85 - 0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x3F,0xFF,0xF0,0x00, // ц d1 86 - 0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x01,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x3F,0x00, // ч d1 87 - 0x00,0xF0,0xF0,0x00,0x00,0xE0,0xE0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x00, // ш d1 88 - 0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x3F,0x3F,0x30,0x30,0x3F,0xFF,0xE0, // щ d1 89 - 0x30,0x30,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00, // ъ d1 8a - 0x00,0xF0,0xF0,0x80,0x80,0x80,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x31,0x31,0x3B,0x1F,0x0E,0x00,0x3F,0x3F,0x00, // ы d1 8b - 0x00,0xF0,0xF0,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00, // ь d1 8c - 0x00,0x40,0x60,0x70,0x30,0x30,0x30,0x30,0x70,0xE0,0xC0,0x00,0x00,0x08,0x18,0x38,0x30,0x33,0x33,0x33,0x3B,0x1F,0x0F,0x00, // э d1 8d - 0x00,0xF0,0xF0,0x00,0xE0,0xF0,0x30,0x30,0x30,0xF0,0xE0,0x00,0x00,0x3F,0x3F,0x03,0x1F,0x3F,0x30,0x30,0x30,0x3F,0x1F,0x00, // ю d1 8e - 0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x30,0xF0,0xF0,0x00,0x00,0x21,0x33,0x3B,0x1E,0x0E,0x06,0x06,0x06,0x3F,0x3F,0x00, // я d1 8f - //V272 - 0x00,0xE0,0xF0,0x32,0x36,0x36,0x34,0x30,0x30,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00, // ѐ d1 90 - 0x00,0xE0,0xF0,0x34,0x34,0x30,0x30,0x34,0x34,0xF0,0xE0,0x00,0x00,0x1F,0x3F,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x33,0x00, // ё d1 91 - 0x00,0x30,0xFC,0xFC,0x30,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x07,0x03,0x01,0x01,0xC1,0xFF,0x3F,0x00, // ђ d1 92 - 0x00,0xF0,0xF0,0x30,0x30,0x34,0x36,0x32,0x30,0x30,0x30,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ѓ d1 93 - 0x00,0xC0,0xE0,0x70,0x30,0x30,0x30,0x30,0x70,0x60,0x40,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x30,0x38,0x18,0x08,0x00, // є d1 94 - 0x00,0xE0,0xF0,0xB0,0xB0,0x30,0x30,0x30,0x30,0x70,0x60,0x00,0x00,0x18,0x39,0x31,0x33,0x33,0x33,0x37,0x36,0x3E,0x1C,0x00, // ѕ d1 95 - 0x00,0x00,0x00,0x00,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // і d1 96 - 0x00,0x00,0x00,0x04,0x34,0xF0,0xF4,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ї d1 97 - 0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xF6,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00, // ј d1 98 - 0x00,0x00,0xE0,0xF0,0x30,0x30,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x30,0x3F,0x1F,0x00,0x00,0x3F,0x3F,0x33,0x33,0x1E,0x0C, // љ d1 99 - 0x00,0xF0,0xF0,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x03,0x3F,0x3F,0x33,0x33,0x1E,0x0C, // њ d1 9a - 0x00,0x30,0xFC,0xFC,0xB0,0xB0,0xB0,0xB0,0x80,0x80,0x00,0x00,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00, // ћ d1 9b - 0x00,0xF0,0xF0,0x80,0x88,0xCC,0xE4,0x70,0x30,0x10,0x00,0x00,0x00,0x3F,0x3F,0x03,0x03,0x07,0x0E,0x1C,0x38,0x30,0x20,0x00, // ќ d1 9c - 0x00,0xF0,0xF0,0x00,0x06,0x0C,0x88,0xC0,0xE0,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x1C,0x0E,0x07,0x03,0x01,0x00,0x3F,0x3F,0x00, // ѝ d1 9d - 0x00,0x30,0xF0,0xC0,0x04,0x08,0x08,0x04,0xC0,0xF0,0x30,0x00,0x00,0x60,0xE0,0xC3,0xE7,0x7C,0x3C,0x0F,0x03,0x00,0x00,0x00, // ў d1 9e - 0x00,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0xF0,0xF0,0x30,0x30,0x3F,0x3F,0x00, // џ d1 9f -#else - /* U+0100 to ... Latin Extended-A */ - //V192 ---- PAGE U+0100-U+013F (UTF 0xC480-0xC4BF) ---- - 0x00,0x00,0x00,0xE0,0xF9,0x1D,0x1D,0xF9,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00, // Ā c4 80 - 0x00,0x00,0x40,0x60,0x68,0x68,0x68,0x68,0x68,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // ā c4 81 - 0x00,0x00,0x00,0xE0,0xF9,0x1A,0x1A,0xF9,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x07,0x3F,0x38,0x00, // Ă c4 82 - 0x00,0x00,0x40,0x60,0x64,0x68,0x68,0x68,0x64,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x33,0x3F,0x3F,0x00, // ă c4 83 - 0x00,0x00,0x00,0xE0,0xFC,0x1F,0x1F,0xFC,0xE0,0x00,0x00,0x00,0x00,0x38,0x3F,0x07,0x06,0x06,0x06,0x06,0x67,0xBF,0xB8,0x00, // Ą c4 84 - 0x00,0x00,0x40,0x60,0x60,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x1C,0x3E,0x33,0x33,0x33,0x33,0x33,0x73,0xBF,0xBF,0x00, // ą c4 85 - 0x00,0x80,0xE0,0x70,0x38,0x18,0x1A,0x1B,0x39,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // Ć c4 86 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x6C,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00, // ć c4 87 - 0x00,0x80,0xE0,0x70,0x3A,0x1B,0x19,0x1B,0x3A,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // Ĉ c4 88 - 0x00,0x80,0xC0,0xE0,0x68,0x6C,0x64,0x6C,0x68,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00, // ĉ c4 89 - 0x00,0x80,0xE0,0x70,0x38,0x18,0x1A,0x18,0x38,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // Ċ c4 8a - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00, // ċ c4 8b - 0x00,0x80,0xE0,0x70,0x39,0x1B,0x1A,0x1B,0x39,0x70,0x60,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x30,0x38,0x1C,0x0C,0x00, // Č c4 8c - 0x00,0x80,0xC0,0xE0,0x64,0x6C,0x68,0x6C,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x18,0x08,0x00, // č c4 8d - 0x00,0xF8,0xF8,0x19,0x1B,0x1A,0x1B,0x39,0x70,0xE0,0x80,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // Ď c4 8e - 0x00,0x80,0xC0,0xE0,0x60,0x60,0xE0,0xFF,0xFF,0x00,0x05,0x03,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x3F,0x3F,0x00,0x00,0x00, // ď c4 8f - //V208 - 0xC0,0xFF,0xFF,0xC3,0xC3,0x03,0x03,0x07,0x0E,0xFC,0xF0,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // Đ c4 90 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0xE4,0xC4,0xFF,0xFF,0x04,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x30,0x3F,0x3F,0x00, // đ c4 91 - 0x00,0xFC,0xFC,0x8C,0x8D,0x8D,0x8D,0x8D,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ē c4 92 - 0x00,0x80,0xC0,0xE0,0x68,0x68,0x68,0x68,0x68,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00, // ē c4 93 - 0x00,0xF8,0xF8,0x98,0x99,0x9A,0x9A,0x99,0x98,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ĕ c4 94 - 0x00,0x80,0xC0,0xE0,0x64,0x68,0x68,0x68,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00, // ĕ c4 95 - 0x00,0xF8,0xF8,0x98,0x98,0x98,0x9A,0x98,0x98,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ė c4 96 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00, // ė c4 97 - 0x00,0xFF,0xFF,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x03,0x03,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x70,0xB0,0xB0,0x00, // Ę c4 98 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x73,0xB3,0xB3,0x13,0x01,0x00, // ę c4 99 - 0x00,0xF8,0xF8,0x98,0x99,0x9B,0x9A,0x9B,0x99,0x18,0x18,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ě c4 9a - 0x00,0x80,0xC0,0xE0,0x64,0x6C,0x68,0x6C,0x64,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x3B,0x33,0x33,0x33,0x33,0x33,0x13,0x01,0x00, // ě c4 9b - 0x00,0x80,0xE0,0x70,0x1A,0x1B,0x19,0x1B,0x1A,0x38,0x30,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x33,0x33,0x33,0x3F,0x3F,0x00, // Ĝ c4 9c - 0x00,0x80,0xC0,0xE0,0x68,0x6C,0x64,0x6C,0x68,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00, // ĝ c4 9d - 0x00,0x80,0xE0,0x70,0x1A,0x19,0x19,0x19,0x1A,0x38,0x30,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x33,0x33,0x33,0x3F,0x3F,0x00, // Ğ c4 9e - 0x00,0x80,0xC0,0xE0,0x68,0x64,0x64,0x64,0x68,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00, // ğ c4 9f - //V224 - - 0x00,0x80,0xE0,0x70,0x18,0x18,0x1A,0x18,0x18,0x38,0x30,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x33,0x33,0x33,0x3F,0x3F,0x00, // Ġ c4 a0 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x68,0x60,0x60,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00, // ġ c4 a1 - 0x00,0xF0,0xFC,0x0E,0x07,0x03,0xC3,0xC3,0xC3,0xC7,0xC6,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0xB0,0x70,0x30,0x3F,0x3F,0x00, // Ģ c4 a2 - 0x00,0x80,0xC0,0xE0,0x60,0x60,0x6C,0x6A,0x60,0xE0,0xE0,0x00,0x00,0x03,0xC7,0xCE,0xCC,0xCC,0xCC,0xCC,0xE6,0x7F,0x3F,0x00, // ģ c4 a3 - 0x00,0xFC,0xFC,0x80,0x82,0x81,0x81,0x82,0x80,0xFC,0xFC,0x00,0x00,0x3F,0x3F,0x01,0x01,0x01,0x01,0x01,0x01,0x3F,0x3F,0x00, // Ĥ c4 a4 - 0x00,0xFE,0xFE,0xC0,0x62,0x63,0x61,0xE3,0xC2,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00, // ĥ c4 a5 - 0x02,0xFF,0xFF,0xC2,0xC2,0xC2,0xC2,0xC2,0xC2,0xFF,0xFF,0x02,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // Ħ c4 a6 - 0x04,0xFF,0xFF,0xC4,0x64,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00, // ħ c4 a7 - 0x00,0x00,0x00,0x1A,0x19,0xFB,0xFB,0x1A,0x19,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Ĩ c4 a8 - 0x00,0x00,0x00,0x08,0x64,0xEC,0xE8,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ĩ c4 a9 - 0x00,0x00,0x00,0x0C,0x0D,0xFD,0xFD,0x0D,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Ī c4 aa - 0x00,0x00,0x00,0x08,0x68,0xE8,0xE8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ī c4 ab - 0x00,0x00,0x00,0x18,0x19,0xFA,0xFA,0x19,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // Ĭ c4 ac - 0x00,0x00,0x00,0x00,0x64,0xE8,0xE8,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ĭ c4 ad - 0x00,0x00,0x00,0x03,0x03,0xFF,0xFF,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x7F,0xBF,0xB0,0x30,0x00,0x00,0x00, // Į c4 ae - 0x00,0x00,0x00,0x00,0x60,0xEC,0xEC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x7F,0xBF,0xB0,0x30,0x00,0x00,0x00, // į c4 af - //V240 - 0x00,0x00,0x00,0x18,0x18,0xF8,0xFA,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // İ c4 b0 - 0x00,0x00,0x00,0x00,0x60,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ı c4 b1 - 0x00,0x03,0xFF,0xFF,0x03,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x30,0x3F,0x3F,0x30,0x0C,0x1C,0x30,0x30,0x3F,0x1F,0x00, // IJ c4 b2 - 0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x20,0xEC,0xEC,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x70,0xC0,0xC0,0xFF,0x7F,0x00,0x00, // ij c4 b3 - 0x00,0x00,0x00,0x00,0x02,0x03,0x01,0x03,0x02,0xF8,0xF8,0x00,0x00,0x0E,0x1E,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ĵ c4 b4 - 0x00,0x00,0x00,0x00,0x00,0x08,0x6C,0xE4,0xEC,0x08,0x00,0x00,0x00,0x00,0x00,0x60,0xE0,0xC0,0xC0,0xFF,0x7F,0x00,0x00,0x00, // ĵ c4 b5 - 0x00,0xFF,0xFF,0xC0,0xE0,0xF0,0x38,0x1C,0x0E,0x07,0x03,0x00,0x00,0x3F,0x3F,0x00,0x01,0xA3,0x67,0x0E,0x1C,0x38,0x30,0x00, // Ķ c4 b6 - 0x00,0x00,0xFF,0xFF,0x00,0x80,0xC0,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0xA7,0x6F,0x1C,0x38,0x30,0x00,0x00, // ķ c4 b7 - 0x00,0x00,0xE0,0xE0,0x00,0x80,0xC0,0xE0,0x60,0x20,0x00,0x00,0x00,0x00,0x3F,0x3F,0x03,0x07,0x0F,0x1C,0x38,0x30,0x00,0x00, // ĸ c4 b8 - 0x00,0xF8,0xFA,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ĺ c4 b9 - 0x00,0x00,0x00,0x00,0x18,0xFA,0xFB,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ĺ c4 ba - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0xB0,0x70,0x30,0x30,0x30,0x30,0x00, // Ļ c4 bb - 0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0xBF,0x7F,0x30,0x30,0x00,0x00,0x00, // ļ c4 bc - 0x00,0xFF,0xFF,0x00,0x00,0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ľ c4 bd - 0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x05,0x03,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ľ c4 be - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ŀ c4 bf - - //V256 ---- PAGE U+0140-U+017F (UTF 0xC580-0xC5BF) ---- - 0x00,0x00,0x00,0x00,0x03,0xFF,0xFF,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ŀ c5 80 - 0x80,0xFF,0xFF,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ł c5 81 - 0x00,0x00,0x00,0x00,0x83,0xFF,0xFF,0x20,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x31,0x30,0x3F,0x3F,0x30,0x30,0x00,0x00,0x00, // ł c5 82 - 0x00,0xFF,0xFF,0x0E,0x38,0xF2,0xC3,0x01,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00, // Ń c5 83 - 0x00,0x00,0xE0,0xE0,0x60,0x68,0x6C,0x64,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // ń c5 84 - 0x00,0xFF,0xFF,0x0E,0x38,0xF0,0xC0,0x00,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0xA0,0x63,0x07,0x1C,0x3F,0x3F,0x00, // Ņ c5 85 - 0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0xA0,0x60,0x00,0x3F,0x3F,0x00, // ņ c5 86 - 0x00,0xFF,0xFF,0x0E,0x38,0xF1,0xC2,0x01,0x00,0xFF,0xFF,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x03,0x07,0x1C,0x3F,0x3F,0x00, // Ň c5 87 - 0x00,0x00,0xE0,0xE0,0x64,0x6C,0x68,0x6C,0xE4,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // ň c5 88 - 0x00,0x0A,0xE6,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00, // ʼn c5 89 - 0x00,0x00,0xFF,0xFF,0x06,0x03,0x03,0x03,0x07,0xFE,0xFC,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x20,0x20,0x30,0x1F,0x0F,0x00, // Ŋ c5 8a - 0x00,0x00,0xE0,0xE0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x80,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0xC0,0xC0,0xFF,0x7F,0x00, // ŋ c5 8b - 0x00,0xC0,0xF0,0x38,0x1D,0x0D,0x0D,0x1D,0x38,0xF0,0xC0,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // Ō c5 8c - 0x00,0x80,0xC0,0xE0,0x68,0x68,0x68,0x68,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ō c5 8d - 0x00,0x80,0xE0,0x70,0x39,0x1A,0x1A,0x39,0x70,0xE0,0x80,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // Ŏ c5 8e - 0x00,0x80,0xC0,0xE0,0x64,0x68,0x68,0x64,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ŏ c5 8f - //V272 - 0x00,0x80,0xE0,0x70,0x3A,0x19,0x1A,0x39,0x70,0xE0,0x80,0x00,0x00,0x03,0x0F,0x1C,0x38,0x30,0x30,0x38,0x1C,0x0F,0x03,0x00, // Ő c5 90 - 0x00,0x80,0xC0,0xE0,0x68,0x64,0x68,0x64,0xE0,0xC0,0x80,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x0F,0x00, // ő c5 91 - 0xF0,0xFC,0x0E,0x03,0x03,0x07,0xFE,0xFF,0xC3,0xC3,0xC3,0x00,0x03,0x0F,0x1C,0x30,0x30,0x38,0x1F,0x3F,0x30,0x30,0x30,0x00, // Œ c5 92 - 0x80,0xC0,0xE0,0x60,0x60,0xE0,0xC0,0x60,0x60,0x60,0x40,0x80,0x0F,0x1F,0x38,0x30,0x30,0x1F,0x1F,0x3B,0x33,0x33,0x1B,0x09, // œ c5 93 - 0x00,0xF8,0xF8,0x98,0x98,0x9A,0x9B,0x99,0xF8,0xF0,0x60,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00, // Ŕ c5 94 - 0x00,0x00,0xE0,0xE0,0xC0,0x60,0x68,0x6C,0x64,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ŕ c5 95 - 0x00,0xFF,0xFF,0x83,0x83,0x83,0x83,0x83,0xC7,0xFE,0x7C,0x00,0x00,0x3F,0x3F,0x01,0x01,0xA3,0x67,0x0F,0x1D,0x38,0x30,0x00, // Ŗ c5 96 - 0x00,0x00,0xE0,0xE0,0xC0,0x60,0x60,0x60,0x60,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0xA0,0x60,0x00,0x00,0x00,0x00,0x00, // ŗ c5 97 - 0x00,0xF8,0xF8,0x99,0x9B,0x9A,0x9B,0x99,0xF8,0xF0,0x60,0x00,0x00,0x3F,0x3F,0x01,0x01,0x03,0x07,0x0F,0x1D,0x38,0x30,0x00, // Ř c5 98 - 0x00,0x00,0xE0,0xE0,0xC4,0x6C,0x68,0x6C,0x64,0xE0,0xC0,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // ř c5 99 - 0x00,0x60,0xF0,0xF8,0x98,0x9A,0x9B,0x99,0x98,0x30,0x20,0x00,0x00,0x0C,0x1C,0x39,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00, // Ś c5 9a - 0x00,0xC0,0xE0,0x60,0x68,0x6C,0x64,0x60,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00, // ś c5 9b - 0x00,0x60,0xF0,0xF8,0x9A,0x9B,0x99,0x9B,0x9A,0x30,0x20,0x00,0x00,0x0C,0x1C,0x39,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00, // Ŝ c5 9c - 0x00,0xC0,0xE0,0x68,0x6C,0x64,0x6C,0x68,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00, // ŝ c5 9d - 0x00,0x3C,0x7E,0xE7,0xC3,0xC3,0xC3,0xC3,0xC7,0x8E,0x0C,0x00,0x00,0x0C,0x1C,0x38,0x30,0xB0,0xF0,0x30,0x39,0x1F,0x0F,0x00, // Ş c5 9e - 0x00,0xC0,0xE0,0x60,0x60,0x60,0x60,0x60,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0xB3,0xF3,0x33,0x3F,0x1E,0x00,0x00,0x00, // ş c5 9f - //V288 - 0x00,0x60,0xF0,0xF8,0x99,0x9B,0x9A,0x9B,0x99,0x30,0x20,0x00,0x00,0x0C,0x1C,0x39,0x31,0x31,0x31,0x31,0x3B,0x1F,0x0E,0x00, // Š c5 a0 - 0x00,0xC0,0xE0,0x64,0x6C,0x68,0x6C,0x64,0x40,0x00,0x00,0x00,0x00,0x11,0x33,0x33,0x33,0x33,0x33,0x3F,0x1E,0x00,0x00,0x00, // š c5 a1 - 0x00,0x00,0x03,0x03,0x03,0xFF,0xFF,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xBF,0xBF,0x60,0x00,0x00,0x00,0x00, // Ţ c5 a2 - 0x00,0x60,0x60,0xFE,0xFE,0x60,0x60,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0xB0,0xB0,0xF0,0x30,0x00,0x00,0x00, // ţ c5 a3 - 0x00,0x00,0x18,0x19,0x1B,0xFA,0xFA,0x1B,0x19,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Ť c5 a4 - 0x00,0x60,0x60,0xFE,0xFE,0x60,0x65,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x3F,0x30,0x30,0x30,0x30,0x00,0x00,0x00, // ť c5 a5 - 0x00,0x00,0x03,0xC3,0xC3,0xFF,0xFF,0xC3,0xC3,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Ŧ c5 a6 - 0x00,0x30,0x30,0xFE,0xFE,0x30,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x1F,0x3F,0x33,0x33,0x30,0x30,0x00,0x00,0x00, // ŧ c5 a7 - 0x00,0xF8,0xF8,0x02,0x01,0x03,0x03,0x02,0x01,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ũ c5 a8 - 0x00,0xE0,0xE0,0x08,0x04,0x0C,0x0C,0x08,0x04,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ũ c5 a9 - 0x00,0xFC,0xFC,0x00,0x01,0x01,0x01,0x01,0x00,0xFC,0xFC,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ū c5 aa - 0x00,0xE0,0xE0,0x00,0x08,0x08,0x08,0x08,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ū c5 ab - 0x00,0xFC,0xFC,0x00,0x01,0x02,0x02,0x01,0x00,0xFC,0xFC,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ŭ c5 ac - 0x00,0xE0,0xE0,0x00,0x04,0x08,0x08,0x04,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ŭ c5 ad - 0x00,0xF8,0xF8,0x00,0x06,0x09,0x09,0x06,0x00,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ů c5 ae - 0x00,0xE0,0xE0,0x00,0x0C,0x12,0x12,0x0C,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ů c5 af - //V304 - 0x00,0xF8,0xF8,0x00,0x02,0x01,0x02,0x01,0x00,0xF8,0xF8,0x00,0x00,0x07,0x1F,0x38,0x30,0x30,0x30,0x30,0x38,0x1F,0x07,0x00, // Ű c5 b0 - 0x00,0xE0,0xE0,0x00,0x08,0x04,0x08,0x04,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0x30,0x30,0x30,0x18,0x3F,0x3F,0x00, // ű c5 b1 - 0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x07,0x1F,0x38,0x30,0xF0,0xB0,0xB0,0x38,0x1F,0x07,0x00, // Ų c5 b2 - 0x00,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0x00,0x00,0x0F,0x1F,0x38,0x30,0xF0,0xB0,0xB0,0x18,0x3F,0x3F,0x00, // ų c5 b3 - 0x00,0xFC,0xFC,0x00,0x02,0x81,0x81,0x02,0x00,0xFC,0xFC,0x00,0x00,0x3F,0x3F,0x1C,0x06,0x03,0x03,0x06,0x1C,0x3F,0x3F,0x00, // Ŵ c5 b4 - 0x00,0xE0,0xE0,0x00,0x04,0xE8,0xE8,0x04,0x00,0xE0,0xE0,0x00,0x00,0x07,0x1F,0x38,0x1C,0x0F,0x0F,0x1C,0x38,0x1F,0x07,0x00, // ŵ c5 b5 - 0x00,0x02,0x0E,0x3C,0xF2,0xC1,0xC1,0xF2,0x3C,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Ŷ c5 b6 - 0x00,0x00,0x60,0xE0,0x88,0x04,0x04,0x88,0xE0,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00, // ŷ c5 b7 - 0x00,0x02,0x0E,0x3C,0xF1,0xC0,0xC0,0xF1,0x3C,0x0E,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x3F,0x00,0x00,0x00,0x00,0x00, // Ÿ c5 b8 - 0x00,0x18,0x18,0x18,0x18,0x1A,0x9B,0xD9,0xF8,0x78,0x38,0x00,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x00, // Ź c5 b9 - 0x00,0x60,0x60,0x60,0x68,0x6C,0xE4,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00, // ź c5 ba - 0x00,0x18,0x18,0x18,0x18,0x18,0x9A,0xD8,0xF8,0x78,0x38,0x00,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x00, // Ż c5 bb - 0x00,0x60,0x60,0x60,0x60,0x68,0xE0,0xE0,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00, // ż c5 bc - 0x00,0x18,0x18,0x18,0x19,0x1B,0x9A,0xDB,0xF9,0x78,0x38,0x00,0x00,0x30,0x38,0x3C,0x3E,0x37,0x33,0x31,0x30,0x30,0x30,0x00, // Ž c5 bd - 0x00,0x60,0x60,0x64,0x6C,0x68,0xEC,0xE4,0x60,0x20,0x00,0x00,0x00,0x30,0x38,0x3C,0x36,0x33,0x31,0x30,0x30,0x30,0x00,0x00, // ž c5 be - 0x00,0x00,0x00,0x00,0xFC,0xFE,0x06,0x06,0x0E,0x0C,0x00,0x00,0x00,0x00,0x30,0x30,0x3F,0x3F,0x30,0x00,0x00,0x00,0x00,0x00 // ſ c5 bf -#endif -}; const uint8_t ExtraFontChars[] = { //width = 12 @@ -569,7 +110,7 @@ const uint8_t WarningBlock24[] = { //width = 24 //height = 16 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x30,0x0C,0x02,0xF1,0xF1,0xF1,0x02,0x0C,0x30,0xC0,0x00,0x00,0x00,0x00,0x00,0x00, - 0x00,0x00,0x00,0xC0,0xB0,0x8C,0x83,0x80,0x80,0x80,0x80,0xB3,0xB3,0xB3,0x80,0x80,0x80,0x80,0x83,0x8C,0xB0,0xC0,0x00,0x00 + 0x00,0x00,0x00,0xC0,0xB0,0x8C,0x83,0x80,0x80,0x80,0x80,0xB3,0xB3,0xB3,0x80,0x80,0x80,0x80,0x83,0x8C,0xB0,0xC0,0x00,0x00 }; const uint8_t idleScreenBG[] = { @@ -582,7 +123,7 @@ const uint8_t idleScreenBG[] = { 0x00,0x07,0x18,0x20,0x40,0x40,0x80,0x82,0x86,0x86,0x86,0x87,0x83,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81, 0x81,0x81,0x81,0x81,0x83,0x87,0x86,0x86,0x86,0x82,0x80,0x80,0x40,0x40,0x20,0x18,0x07,0x00,0x00,0x07,0x18,0x20,0x40,0x40, 0x80,0x82,0x87,0x85,0x85,0x85,0x85,0x87,0x87,0x85,0x87,0x85,0x87,0x87,0x82,0x82,0x82,0x80,0x82,0x80,0x82,0x82,0x82,0x92, - 0x8A,0x84,0x82,0x81,0x80,0x80,0x80,0x40,0x40,0x20,0x18,0x07 + 0x8A,0x84,0x82,0x81,0x80,0x80,0x80,0x40,0x40,0x20,0x18,0x07 }; const uint8_t idleScreenBGF[] = { @@ -595,7 +136,7 @@ const uint8_t idleScreenBGF[] = { 0x07,0x18,0x20,0x40,0x40,0x80,0x80,0x80,0x81,0x82,0x84,0x8A,0x92,0x82,0x82,0x82,0x80,0x82,0x80,0x82,0x82,0x82,0x87,0x87, 0x85,0x87,0x85,0x87,0x87,0x85,0x85,0x85,0x85,0x87,0x82,0x80,0x40,0x40,0x20,0x18,0x07,0x00,0x00,0x07,0x18,0x20,0x40,0x40, 0x80,0x80,0x82,0x86,0x86,0x86,0x87,0x83,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x81,0x83, - 0x87,0x86,0x86,0x86,0x82,0x80,0x40,0x40,0x20,0x18,0x07,0x00 + 0x87,0x86,0x86,0x86,0x82,0x80,0x40,0x40,0x20,0x18,0x07,0x00 }; /* @@ -647,439 +188,5 @@ const uint8_t SettingsMenuIcons[] = { #endif }; -const uint8_t FONT_6x8[] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 000: ' ' U+0020 (utf-8: 20) - 0x00, 0x00, 0x4f, 0x00, 0x00, 0x00, // 001: '!' U+0021 (utf-8: 21) - 0x00, 0x07, 0x00, 0x07, 0x00, 0x00, // 002: '"' U+0022 (utf-8: 22) - 0x14, 0x7f, 0x14, 0x7f, 0x14, 0x00, // 003: '#' U+0023 (utf-8: 23) - 0x24, 0x2a, 0x7f, 0x2a, 0x12, 0x00, // 004: '$' U+0024 (utf-8: 24) - 0x23, 0x13, 0x08, 0x64, 0x62, 0x00, // 005: '%' U+0025 (utf-8: 25) - 0x36, 0x49, 0x56, 0x20, 0x58, 0x00, // 006: '&' U+0026 (utf-8: 26) - 0x00, 0x05, 0x03, 0x00, 0x00, 0x00, // 007: ''' U+0027 (utf-8: 27) - 0x00, 0x1c, 0x22, 0x41, 0x00, 0x00, // 008: '(' U+0028 (utf-8: 28) - 0x00, 0x41, 0x22, 0x1c, 0x00, 0x00, // 009: ')' U+0029 (utf-8: 29) - 0x14, 0x08, 0x3e, 0x08, 0x14, 0x00, // 010: '*' U+002a (utf-8: 2a) - 0x08, 0x08, 0x3e, 0x08, 0x08, 0x00, // 011: '+' U+002b (utf-8: 2b) - 0x00, 0x50, 0x30, 0x00, 0x00, 0x00, // 012: ',' U+002c (utf-8: 2c) - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 013: '-' U+002d (utf-8: 2d) - 0x00, 0x60, 0x60, 0x00, 0x00, 0x00, // 014: '.' U+002e (utf-8: 2e) - 0x20, 0x10, 0x08, 0x04, 0x02, 0x00, // 015: '/' U+002f (utf-8: 2f) - 0x3e, 0x51, 0x49, 0x45, 0x3e, 0x00, // 016: '0' U+0030 (utf-8: 30) - 0x00, 0x42, 0x7f, 0x40, 0x00, 0x00, // 017: '1' U+0031 (utf-8: 31) - 0x42, 0x61, 0x51, 0x49, 0x46, 0x00, // 018: '2' U+0032 (utf-8: 32) - 0x21, 0x41, 0x45, 0x4b, 0x31, 0x00, // 019: '3' U+0033 (utf-8: 33) - 0x18, 0x14, 0x12, 0x7f, 0x10, 0x00, // 020: '4' U+0034 (utf-8: 34) - 0x27, 0x45, 0x45, 0x45, 0x39, 0x00, // 021: '5' U+0035 (utf-8: 35) - 0x3c, 0x4a, 0x49, 0x49, 0x30, 0x00, // 022: '6' U+0036 (utf-8: 36) - 0x01, 0x71, 0x09, 0x05, 0x03, 0x00, // 023: '7' U+0037 (utf-8: 37) - 0x36, 0x49, 0x49, 0x49, 0x36, 0x00, // 024: '8' U+0038 (utf-8: 38) - 0x06, 0x49, 0x49, 0x29, 0x1e, 0x00, // 025: '9' U+0039 (utf-8: 39) - 0x00, 0x36, 0x36, 0x00, 0x00, 0x00, // 026: ':' U+003a (utf-8: 3a) - 0x00, 0x56, 0x36, 0x00, 0x00, 0x00, // 027: ';' U+003b (utf-8: 3b) - 0x08, 0x14, 0x22, 0x41, 0x00, 0x00, // 028: '<' U+003c (utf-8: 3c) - 0x14, 0x14, 0x14, 0x14, 0x14, 0x00, // 029: '=' U+003d (utf-8: 3d) - 0x00, 0x41, 0x22, 0x14, 0x08, 0x00, // 030: '>' U+003e (utf-8: 3e) - 0x02, 0x01, 0x51, 0x09, 0x06, 0x00, // 031: '?' U+003f (utf-8: 3f) - 0x32, 0x49, 0x79, 0x41, 0x3e, 0x00, // 032: '@' U+0040 (utf-8: 40) - 0x7e, 0x09, 0x09, 0x09, 0x7e, 0x00, // 033: 'A' U+0041 (utf-8: 41) - 0x7f, 0x49, 0x49, 0x49, 0x36, 0x00, // 034: 'B' U+0042 (utf-8: 42) - 0x3e, 0x41, 0x41, 0x41, 0x22, 0x00, // 035: 'C' U+0043 (utf-8: 43) - 0x7f, 0x41, 0x41, 0x22, 0x1c, 0x00, // 036: 'D' U+0044 (utf-8: 44) - 0x7f, 0x49, 0x49, 0x49, 0x41, 0x00, // 037: 'E' U+0045 (utf-8: 45) - 0x7f, 0x09, 0x09, 0x09, 0x01, 0x00, // 038: 'F' U+0046 (utf-8: 46) - 0x3e, 0x41, 0x41, 0x49, 0x7a, 0x00, // 039: 'G' U+0047 (utf-8: 47) - 0x7f, 0x08, 0x08, 0x08, 0x7f, 0x00, // 040: 'H' U+0048 (utf-8: 48) - 0x00, 0x41, 0x7f, 0x41, 0x00, 0x00, // 041: 'I' U+0049 (utf-8: 49) - 0x20, 0x40, 0x41, 0x3f, 0x01, 0x00, // 042: 'J' U+004a (utf-8: 4a) - 0x7f, 0x08, 0x14, 0x22, 0x41, 0x00, // 043: 'K' U+004b (utf-8: 4b) - 0x7f, 0x40, 0x40, 0x40, 0x40, 0x00, // 044: 'L' U+004c (utf-8: 4c) - 0x7f, 0x02, 0x0c, 0x02, 0x7f, 0x00, // 045: 'M' U+004d (utf-8: 4d) - 0x7f, 0x04, 0x08, 0x10, 0x7f, 0x00, // 046: 'N' U+004e (utf-8: 4e) - 0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00, // 047: 'O' U+004f (utf-8: 4f) - 0x7f, 0x09, 0x09, 0x09, 0x06, 0x00, // 048: 'P' U+0050 (utf-8: 50) - 0x3e, 0x41, 0x51, 0x21, 0x5e, 0x00, // 049: 'Q' U+0051 (utf-8: 51) - 0x7f, 0x09, 0x19, 0x29, 0x46, 0x00, // 050: 'R' U+0052 (utf-8: 52) - 0x26, 0x49, 0x49, 0x49, 0x32, 0x00, // 051: 'S' U+0053 (utf-8: 53) - 0x01, 0x01, 0x7f, 0x01, 0x01, 0x00, // 052: 'T' U+0054 (utf-8: 54) - 0x3f, 0x40, 0x40, 0x40, 0x3f, 0x00, // 053: 'U' U+0055 (utf-8: 55) - 0x1f, 0x20, 0x40, 0x20, 0x1f, 0x00, // 054: 'V' U+0056 (utf-8: 56) - 0x3f, 0x40, 0x38, 0x40, 0x3f, 0x00, // 055: 'W' U+0057 (utf-8: 57) - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 056: 'X' U+0058 (utf-8: 58) - 0x07, 0x08, 0x70, 0x08, 0x07, 0x00, // 057: 'Y' U+0059 (utf-8: 59) - 0x61, 0x51, 0x49, 0x45, 0x43, 0x00, // 058: 'Z' U+005a (utf-8: 5a) - 0x00, 0x7f, 0x41, 0x41, 0x00, 0x00, // 059: '[' U+005b (utf-8: 5b) - 0x02, 0x04, 0x08, 0x10, 0x20, 0x00, // 060: '\' U+005c (utf-8: 5c) - 0x00, 0x41, 0x41, 0x7f, 0x00, 0x00, // 061: ']' U+005d (utf-8: 5d) - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 062: '^' U+005e (utf-8: 5e) - 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, // 063: '_' U+005f (utf-8: 5f) - 0x00, 0x03, 0x05, 0x00, 0x00, 0x00, // 064: '`' U+0060 (utf-8: 60) - 0x20, 0x54, 0x54, 0x54, 0x78, 0x00, // 065: 'a' U+0061 (utf-8: 61) - 0x7f, 0x48, 0x44, 0x44, 0x38, 0x00, // 066: 'b' U+0062 (utf-8: 62) - 0x38, 0x44, 0x44, 0x44, 0x20, 0x00, // 067: 'c' U+0063 (utf-8: 63) - 0x38, 0x44, 0x44, 0x48, 0x7f, 0x00, // 068: 'd' U+0064 (utf-8: 64) - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 069: 'e' U+0065 (utf-8: 65) - 0x00, 0x04, 0x7e, 0x05, 0x01, 0x00, // 070: 'f' U+0066 (utf-8: 66) - 0x08, 0x54, 0x54, 0x54, 0x3c, 0x00, // 071: 'g' U+0067 (utf-8: 67) - 0x7f, 0x08, 0x04, 0x04, 0x78, 0x00, // 072: 'h' U+0068 (utf-8: 68) - 0x00, 0x44, 0x7d, 0x40, 0x00, 0x00, // 073: 'i' U+0069 (utf-8: 69) - 0x20, 0x40, 0x44, 0x3d, 0x00, 0x00, // 074: 'j' U+006a (utf-8: 6a) - 0x00, 0x7f, 0x10, 0x28, 0x44, 0x00, // 075: 'k' U+006b (utf-8: 6b) - 0x00, 0x41, 0x7f, 0x40, 0x00, 0x00, // 076: 'l' U+006c (utf-8: 6c) - 0x7c, 0x04, 0x78, 0x04, 0x78, 0x00, // 077: 'm' U+006d (utf-8: 6d) - 0x7c, 0x08, 0x04, 0x04, 0x78, 0x00, // 078: 'n' U+006e (utf-8: 6e) - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 079: 'o' U+006f (utf-8: 6f) - 0x7c, 0x14, 0x14, 0x14, 0x08, 0x00, // 080: 'p' U+0070 (utf-8: 70) - 0x08, 0x14, 0x14, 0x14, 0x7c, 0x00, // 081: 'q' U+0071 (utf-8: 71) - 0x7c, 0x08, 0x04, 0x04, 0x08, 0x00, // 082: 'r' U+0072 (utf-8: 72) - 0x48, 0x54, 0x54, 0x54, 0x24, 0x00, // 083: 's' U+0073 (utf-8: 73) - 0x04, 0x3e, 0x44, 0x40, 0x20, 0x00, // 084: 't' U+0074 (utf-8: 74) - 0x3c, 0x40, 0x40, 0x20, 0x7c, 0x00, // 085: 'u' U+0075 (utf-8: 75) - 0x0c, 0x30, 0x40, 0x30, 0x0c, 0x00, // 086: 'v' U+0076 (utf-8: 76) - 0x3c, 0x40, 0x30, 0x40, 0x3c, 0x00, // 087: 'w' U+0077 (utf-8: 77) - 0x44, 0x24, 0x38, 0x48, 0x44, 0x00, // 088: 'x' U+0078 (utf-8: 78) - 0x44, 0x48, 0x30, 0x10, 0x0c, 0x00, // 089: 'y' U+0079 (utf-8: 79) - 0x44, 0x64, 0x54, 0x4c, 0x44, 0x00, // 090: 'z' U+007a (utf-8: 7a) - 0x08, 0x36, 0x41, 0x00, 0x00, 0x00, // 091: '{' U+007b (utf-8: 7b) - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 092: '|' U+007c (utf-8: 7c) - 0x00, 0x00, 0x41, 0x36, 0x08, 0x00, // 093: '}' U+007d (utf-8: 7d) - 0x02, 0x01, 0x02, 0x04, 0x02, 0x00, // 094: '~' U+007e (utf-8: 7e) - 0x04, 0x02, 0x01, 0x02, 0x04, 0x00, // 095: '^' U+005e (utf-8: 5e) - - /* Latin-1 Supplement */ - // ---- HALF-PAGE U+00A0-U+00BF (UTF 0xC2A0-0xC2BF) ---- - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 096: ' ' U+00a0 (utf-8: c2 a0) - 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, // 097: '¡' U+00a1 (utf-8: c2 a1) - 0x1c, 0x22, 0x7f, 0x22, 0x10, 0x00, // 098: '¢' U+00a2 (utf-8: c2 a2) - 0x50, 0x7e, 0x51, 0x41, 0x42, 0x00, // 099: '£' U+00a3 (utf-8: c2 a3) - 0x22, 0x1c, 0x14, 0x1c, 0x22, 0x00, // 100: '¤' U+00a4 (utf-8: c2 a4) - 0x15, 0x16, 0x7c, 0x16, 0x15, 0x00, // 101: '¥' U+00a5 (utf-8: c2 a5) - 0x00, 0x00, 0x77, 0x00, 0x00, 0x00, // 102: '¦' U+00a6 (utf-8: c2 a6) - 0x4a, 0x55, 0x55, 0x55, 0x29, 0x00, // 103: '§' U+00a7 (utf-8: c2 a7) - 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, // 104: '¨' U+00a8 (utf-8: c2 a8) - 0x00, 0x18, 0x24, 0x24, 0x00, 0x00, // 105: '©' U+00a9 (utf-8: c2 a9) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 106: 'ª' U+00aa (utf-8: c2 aa) - 0x08, 0x14, 0x00, 0x08, 0x14, 0x00, // 107: '«' U+00ab (utf-8: c2 ab) - 0x08, 0x08, 0x08, 0x08, 0x38, 0x00, // 108: '¬' U+00ac (utf-8: c2 ac) - 0x08, 0x08, 0x08, 0x08, 0x08, 0x00, // 109: '­' U+00ad (utf-8: c2 ad) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 110: '®' U+00ae (utf-8: c2 ae) - 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, // 111: '¯' U+00af (utf-8: c2 af) - 0x00, 0x00, 0x07, 0x05, 0x07, 0x00, // 112: '°' U+00b0 (utf-8: c2 b0) - 0x44, 0x44, 0x5f, 0x44, 0x44, 0x00, // 113: '±' U+00b1 (utf-8: c2 b1) - 0x1d, 0x15, 0x17, 0x00, 0x00, 0x00, // 114: '²' U+00b2 (utf-8: c2 b2) - 0x15, 0x15, 0x1f, 0x00, 0x00, 0x00, // 115: '³' U+00b3 (utf-8: c2 b3) - 0x00, 0x04, 0x02, 0x01, 0x00, 0x00, // 116: '´' U+00b4 (utf-8: c2 b4) - 0x7c, 0x10, 0x10, 0x0c, 0x10, 0x00, // 117: 'µ' U+00b5 (utf-8: c2 b5) - 0x02, 0x07, 0x7f, 0x01, 0x7f, 0x00, // 118: '¶' U+00b6 (utf-8: c2 b6) - 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, // 119: '·' U+00b7 (utf-8: c2 b7) - 0x00, 0x40, 0x60, 0x00, 0x00, 0x00, // 120: '¸' U+00b8 (utf-8: c2 b8) - 0x12, 0x1f, 0x10, 0x00, 0x00, 0x00, // 121: '¹' U+00b9 (utf-8: c2 b9) - 0x07, 0x05, 0x07, 0x00, 0x00, 0x00, // 122: 'º' U+00ba (utf-8: c2 ba) - 0x14, 0x08, 0x00, 0x14, 0x08, 0x00, // 123: '»' U+00bb (utf-8: c2 bb) - 0x21, 0x17, 0x38, 0x24, 0x72, 0x00, // 124: '¼' U+00bc (utf-8: c2 bc) - 0x21, 0x17, 0x78, 0x54, 0x5e, 0x00, // 125: '½' U+00bd (utf-8: c2 bd) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126: '¾' U+00be (utf-8: c2 be) - 0x30, 0x48, 0x45, 0x40, 0x20, 0x00, // 127: '¿' U+00bf (utf-8: c2 bf) - - // ---- PAGE U+00C0-U+00FF (UTF 0xC380-0xC3BF) ---- - 0x78, 0x15, 0x16, 0x14, 0x78, 0x00, // 128: 'À' U+00c0 (utf-8: c3 80) - 0x78, 0x14, 0x16, 0x15, 0x78, 0x00, // 129: 'Á' U+00c1 (utf-8: c3 81) - 0x78, 0x16, 0x15, 0x16, 0x78, 0x00, // 130: 'Â' U+00c2 (utf-8: c3 82) - 0x7a, 0x29, 0x2a, 0x79, 0x00, 0x00, // 131: 'Ã' U+00c3 (utf-8: c3 83) - 0x78, 0x15, 0x14, 0x15, 0x78, 0x00, // 132: 'Ä' U+00c4 (utf-8: c3 84) - 0x78, 0x14, 0x15, 0x14, 0x78, 0x00, // 133: 'Å' U+00c5 (utf-8: c3 85) - 0x7e, 0x09, 0x7f, 0x49, 0x49, 0x00, // 134: 'Æ' U+00c6 (utf-8: c3 86) - 0x0e, 0x51, 0x71, 0x11, 0x08, 0x00, // 135: 'Ç' U+00c7 (utf-8: c3 87) - 0x7c, 0x55, 0x56, 0x44, 0x44, 0x00, // 136: 'È' U+00c8 (utf-8: c3 88) - 0x7c, 0x54, 0x56, 0x45, 0x44, 0x00, // 137: 'É' U+00c9 (utf-8: c3 89) - 0x7c, 0x56, 0x55, 0x46, 0x44, 0x00, // 138: 'Ê' U+00ca (utf-8: c3 8a) - 0x7c, 0x55, 0x54, 0x45, 0x44, 0x00, // 139: 'Ë' U+00cb (utf-8: c3 8b) - 0x00, 0x49, 0x7a, 0x48, 0x00, 0x00, // 140: 'Ì' U+00cc (utf-8: c3 8c) - 0x00, 0x48, 0x7a, 0x49, 0x00, 0x00, // 141: 'Í' U+00cd (utf-8: c3 8d) - 0x00, 0x4a, 0x79, 0x4a, 0x00, 0x00, // 142: 'Î' U+00ce (utf-8: c3 8e) - 0x44, 0x45, 0x7c, 0x45, 0x44, 0x00, // 143: 'Ï' U+00cf (utf-8: c3 8f) - 0x08, 0x7f, 0x49, 0x22, 0x1c, 0x00, // 144: 'Ð' U+00d0 (utf-8: c3 90) - 0x7a, 0x11, 0x22, 0x79, 0x00, 0x00, // 145: 'Ñ' U+00d1 (utf-8: c3 91) - 0x38, 0x45, 0x46, 0x44, 0x38, 0x00, // 146: 'Ò' U+00d2 (utf-8: c3 92) - 0x38, 0x44, 0x46, 0x45, 0x38, 0x00, // 147: 'Ó' U+00d3 (utf-8: c3 93) - 0x38, 0x46, 0x45, 0x46, 0x38, 0x00, // 148: 'Ô' U+00d4 (utf-8: c3 94) - 0x32, 0x49, 0x4a, 0x31, 0x00, 0x00, // 149: 'Õ' U+00d5 (utf-8: c3 95) - 0x38, 0x45, 0x44, 0x45, 0x38, 0x00, // 150: 'Ö' U+00d6 (utf-8: c3 96) - 0x22, 0x14, 0x08, 0x14, 0x22, 0x00, // 151: '×' U+00d7 (utf-8: c3 97) - 0x58, 0x24, 0x54, 0x48, 0x34, 0x00, // 152: 'Ø' U+00d8 (utf-8: c3 98) - 0x38, 0x41, 0x42, 0x40, 0x38, 0x00, // 153: 'Ù' U+00d9 (utf-8: c3 99) - 0x38, 0x40, 0x42, 0x41, 0x38, 0x00, // 154: 'Ú' U+00da (utf-8: c3 9a) - 0x38, 0x42, 0x41, 0x42, 0x38, 0x00, // 155: 'Û' U+00db (utf-8: c3 9b) - 0x3c, 0x41, 0x40, 0x41, 0x3c, 0x00, // 156: 'Ü' U+00dc (utf-8: c3 9c) - 0x04, 0x08, 0x72, 0x09, 0x04, 0x00, // 157: 'Ý' U+00dd (utf-8: c3 9d) - 0x7f, 0x22, 0x22, 0x22, 0x1c, 0x00, // 158: 'Þ' U+00de (utf-8: c3 9e) - 0x7e, 0x11, 0x25, 0x25, 0x1a, 0x00, // 159: 'ß' U+00df (utf-8: c3 9f) - 0x20, 0x55, 0x56, 0x54, 0x78, 0x00, // 160: 'à' U+00e0 (utf-8: c3 a0) - 0x20, 0x54, 0x56, 0x55, 0x78, 0x00, // 161: 'á' U+00e1 (utf-8: c3 a1) - 0x20, 0x56, 0x55, 0x56, 0x78, 0x00, // 162: 'â' U+00e2 (utf-8: c3 a2) - 0x22, 0x55, 0x56, 0x55, 0x78, 0x00, // 163: 'ã' U+00e3 (utf-8: c3 a3) - 0x20, 0x55, 0x54, 0x55, 0x78, 0x00, // 164: 'ä' U+00e4 (utf-8: c3 a4) - 0x20, 0x54, 0x55, 0x54, 0x78, 0x00, // 165: 'å' U+00e5 (utf-8: c3 a5) - 0x24, 0x54, 0x7c, 0x54, 0x48, 0x00, // 166: 'æ' U+00e6 (utf-8: c3 a6) - 0x1c, 0x22, 0x62, 0x22, 0x10, 0x00, // 167: 'ç' U+00e7 (utf-8: c3 a7) - 0x38, 0x55, 0x56, 0x54, 0x08, 0x00, // 168: 'è' U+00e8 (utf-8: c3 a8) - 0x38, 0x54, 0x56, 0x55, 0x08, 0x00, // 169: 'é' U+00e9 (utf-8: c3 a9) - 0x38, 0x56, 0x55, 0x56, 0x08, 0x00, // 170: 'ê' U+00ea (utf-8: c3 aa) - 0x38, 0x55, 0x54, 0x55, 0x08, 0x00, // 171: 'ë' U+00eb (utf-8: c3 ab) - 0x00, 0x45, 0x7e, 0x40, 0x00, 0x00, // 172: 'ì' U+00ec (utf-8: c3 ac) - 0x00, 0x44, 0x7e, 0x41, 0x00, 0x00, // 173: 'í' U+00ed (utf-8: c3 ad) - 0x00, 0x46, 0x7d, 0x42, 0x00, 0x00, // 174: 'î' U+00ee (utf-8: c3 ae) - 0x00, 0x45, 0x7c, 0x41, 0x00, 0x00, // 175: 'ï' U+00ef (utf-8: c3 af) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 176: 'ð' U+00f0 (utf-8: c3 b0) - 0x78, 0x12, 0x09, 0x0a, 0x71, 0x00, // 177: 'ñ' U+00f1 (utf-8: c3 b1) - 0x38, 0x45, 0x46, 0x44, 0x38, 0x00, // 178: 'ò' U+00f2 (utf-8: c3 b2) - 0x38, 0x44, 0x46, 0x45, 0x38, 0x00, // 179: 'ó' U+00f3 (utf-8: c3 b3) - 0x38, 0x46, 0x45, 0x46, 0x38, 0x00, // 180: 'ô' U+00f4 (utf-8: c3 b4) - 0x32, 0x49, 0x4a, 0x31, 0x00, 0x00, // 181: 'õ' U+00f5 (utf-8: c3 b5) - 0x38, 0x45, 0x44, 0x45, 0x38, 0x00, // 182: 'ö' U+00f6 (utf-8: c3 b6) - 0x08, 0x08, 0x2a, 0x08, 0x08, 0x00, // 183: '÷' U+00f7 (utf-8: c3 b7) - 0x58, 0x24, 0x54, 0x48, 0x34, 0x00, // 184: 'ø' U+00f8 (utf-8: c3 b8) - 0x3c, 0x41, 0x42, 0x20, 0x7c, 0x00, // 185: 'ù' U+00f9 (utf-8: c3 b9) - 0x3c, 0x40, 0x42, 0x21, 0x7c, 0x00, // 186: 'ú' U+00fa (utf-8: c3 ba) - 0x3c, 0x42, 0x41, 0x22, 0x7c, 0x00, // 187: 'û' U+00fb (utf-8: c3 bb) - 0x3c, 0x41, 0x40, 0x21, 0x5c, 0x00, // 188: 'ü' U+00fc (utf-8: c3 bc) - 0x44, 0x48, 0x32, 0x11, 0x0c, 0x00, // 189: 'ý' U+00fd (utf-8: c3 bd) - 0x7c, 0x28, 0x28, 0x10, 0x00, 0x00, // 190: 'þ' U+00fe (utf-8: c3 be) - 0x44, 0x49, 0x30, 0x11, 0x0c, 0x00, // 191: 'ÿ' U+00ff (utf-8: c3 bf) -#ifdef CYRILLIC_GLYPHS - /* Cyrillic */ - // ---- PAGE U+0400-U+043F (UTF 0xD080-0xD0BF) ---- - 0x7c, 0x55, 0x56, 0x44, 0x44, 0x00, // 192: 'Ѐ' U+0400 (utf-8: d0 80) - 0x7c, 0x55, 0x54, 0x45, 0x44, 0x00, // 193: 'Ё' U+0401 (utf-8: d0 81) - 0x01, 0x7f, 0x09, 0x49, 0x31, 0x00, // 194: 'Ђ' U+0402 (utf-8: d0 82) - 0x7c, 0x04, 0x06, 0x05, 0x04, 0x00, // 195: 'Ѓ' U+0403 (utf-8: d0 83) - 0x3e, 0x49, 0x49, 0x41, 0x00, 0x00, // 196: 'Є' U+0404 (utf-8: d0 84) - 0x06, 0x49, 0x49, 0x49, 0x30, 0x00, // 197: 'Ѕ' U+0405 (utf-8: d0 85) - 0x41, 0x41, 0x7f, 0x41, 0x41, 0x00, // 198: 'І' U+0406 (utf-8: d0 86) - 0x44, 0x45, 0x7c, 0x45, 0x44, 0x00, // 199: 'Ї' U+0407 (utf-8: d0 87) - 0x20, 0x40, 0x41, 0x3f, 0x01, 0x00, // 200: 'Ј' U+0408 (utf-8: d0 88) - 0x7f, 0x01, 0x7f, 0x48, 0x30, 0x00, // 201: 'Љ' U+0409 (utf-8: d0 89) - 0x7f, 0x08, 0x7f, 0x48, 0x30, 0x00, // 202: 'Њ' U+040a (utf-8: d0 8a) - 0x01, 0x01, 0x7f, 0x09, 0x71, 0x00, // 203: 'Ћ' U+040b (utf-8: d0 8b) - 0x7c, 0x12, 0x29, 0x44, 0x00, 0x00, // 204: 'Ќ' U+040c (utf-8: d0 8c) - 0x7c, 0x21, 0x12, 0x08, 0x7c, 0x00, // 205: 'Ѝ' U+040d (utf-8: d0 8d) - 0x44, 0x49, 0x32, 0x09, 0x04, 0x00, // 206: 'Ў' U+040e (utf-8: d0 8e) - 0x3f, 0x20, 0x60, 0x20, 0x3f, 0x00, // 207: 'Џ' U+040f (utf-8: d0 8f) - 0x7e, 0x09, 0x09, 0x09, 0x7e, 0x00, // 208: 'А' U+0410 (utf-8: d0 90) - 0x7f, 0x49, 0x49, 0x49, 0x31, 0x00, // 209: 'Б' U+0411 (utf-8: d0 91) - 0x7f, 0x49, 0x49, 0x49, 0x36, 0x00, // 210: 'В' U+0412 (utf-8: d0 92) - 0x7f, 0x01, 0x01, 0x01, 0x01, 0x00, // 211: 'Г' U+0413 (utf-8: d0 93) - 0x60, 0x3f, 0x21, 0x3f, 0x60, 0x00, // 212: 'Д' U+0414 (utf-8: d0 94) - 0x7f, 0x49, 0x49, 0x49, 0x41, 0x00, // 213: 'Е' U+0415 (utf-8: d0 95) - 0x77, 0x08, 0x7f, 0x08, 0x77, 0x00, // 214: 'Ж' U+0416 (utf-8: d0 96) - 0x00, 0x41, 0x49, 0x49, 0x36, 0x00, // 215: 'З' U+0417 (utf-8: d0 97) - 0x7f, 0x10, 0x08, 0x04, 0x7f, 0x00, // 216: 'И' U+0418 (utf-8: d0 98) - 0x7c, 0x21, 0x12, 0x09, 0x7c, 0x00, // 217: 'Й' U+0419 (utf-8: d0 99) - 0x7f, 0x08, 0x14, 0x22, 0x41, 0x00, // 218: 'К' U+041a (utf-8: d0 9a) - 0x40, 0x3f, 0x01, 0x01, 0x7f, 0x00, // 219: 'Л' U+041b (utf-8: d0 9b) - 0x7f, 0x02, 0x04, 0x02, 0x7f, 0x00, // 220: 'М' U+041c (utf-8: d0 9c) - 0x7f, 0x08, 0x08, 0x08, 0x7f, 0x00, // 221: 'Н' U+041d (utf-8: d0 9d) - 0x3e, 0x41, 0x41, 0x41, 0x3e, 0x00, // 222: 'О' U+041e (utf-8: d0 9e) - 0x7f, 0x01, 0x01, 0x01, 0x7f, 0x00, // 223: 'П' U+041f (utf-8: d0 9f) - 0x7f, 0x09, 0x09, 0x09, 0x06, 0x00, // 224: 'Р' U+0420 (utf-8: d0 a0) - 0x3e, 0x41, 0x41, 0x41, 0x22, 0x00, // 225: 'С' U+0421 (utf-8: d0 a1) - 0x01, 0x01, 0x7f, 0x01, 0x01, 0x00, // 226: 'Т' U+0422 (utf-8: d0 a2) - 0x47, 0x48, 0x30, 0x08, 0x07, 0x00, // 227: 'У' U+0423 (utf-8: d0 a3) - 0x0c, 0x12, 0x7f, 0x12, 0x0c, 0x00, // 228: 'Ф' U+0424 (utf-8: d0 a4) - 0x63, 0x14, 0x08, 0x14, 0x63, 0x00, // 229: 'Х' U+0425 (utf-8: d0 a5) - 0x3f, 0x20, 0x20, 0x3f, 0x60, 0x00, // 230: 'Ц' U+0426 (utf-8: d0 a6) - 0x07, 0x08, 0x08, 0x08, 0x7f, 0x00, // 231: 'Ч' U+0427 (utf-8: d0 a7) - 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x00, // 232: 'Ш' U+0428 (utf-8: d0 a8) - 0x3f, 0x20, 0x3f, 0x20, 0x3f, 0x60, // 233: 'Щ' U+0429 (utf-8: d0 a9) - 0x01, 0x7f, 0x48, 0x48, 0x30, 0x00, // 234: 'Ъ' U+042a (utf-8: d0 aa) - 0x7f, 0x48, 0x30, 0x00, 0x7f, 0x00, // 235: 'Ы' U+042b (utf-8: d0 ab) - 0x00, 0x7f, 0x48, 0x48, 0x30, 0x00, // 236: 'Ь' U+042c (utf-8: d0 ac) - 0x22, 0x49, 0x49, 0x2a, 0x1c, 0x00, // 237: 'Э' U+042d (utf-8: d0 ad) - 0x7f, 0x08, 0x3e, 0x41, 0x3e, 0x00, // 238: 'Ю' U+042e (utf-8: d0 ae) - 0x46, 0x29, 0x19, 0x09, 0x7f, 0x00, // 239: 'Я' U+042f (utf-8: d0 af) - 0x20, 0x54, 0x54, 0x54, 0x78, 0x00, // 240: 'а' U+0430 (utf-8: d0 b0) - 0x3c, 0x4a, 0x4a, 0x4a, 0x30, 0x00, // 241: 'б' U+0431 (utf-8: d0 b1) - 0x7c, 0x54, 0x54, 0x54, 0x28, 0x00, // 242: 'в' U+0432 (utf-8: d0 b2) - 0x7c, 0x04, 0x04, 0x04, 0x04, 0x00, // 243: 'г' U+0433 (utf-8: d0 b3) - 0x40, 0x3c, 0x24, 0x3c, 0x60, 0x00, // 244: 'д' U+0434 (utf-8: d0 b4) - 0x38, 0x54, 0x54, 0x54, 0x18, 0x00, // 245: 'е' U+0435 (utf-8: d0 b5) - 0x6c, 0x10, 0x7c, 0x10, 0x6c, 0x00, // 246: 'ж' U+0436 (utf-8: d0 b6) - 0x28, 0x44, 0x54, 0x54, 0x28, 0x00, // 247: 'з' U+0437 (utf-8: d0 b7) - 0x7c, 0x20, 0x10, 0x08, 0x7c, 0x00, // 248: 'и' U+0438 (utf-8: d0 b8) - 0x7c, 0x21, 0x12, 0x09, 0x7c, 0x00, // 249: 'й' U+0439 (utf-8: d0 b9) - 0x7c, 0x10, 0x28, 0x44, 0x00, 0x00, // 250: 'к' U+043a (utf-8: d0 ba) - 0x40, 0x3c, 0x04, 0x04, 0x7c, 0x00, // 251: 'л' U+043b (utf-8: d0 bb) - 0x7c, 0x08, 0x10, 0x08, 0x7c, 0x00, // 252: 'м' U+043c (utf-8: d0 bc) - 0x7c, 0x10, 0x10, 0x10, 0x7c, 0x00, // 253: 'н' U+043d (utf-8: d0 bd) - 0x38, 0x44, 0x44, 0x44, 0x38, 0x00, // 254: 'о' U+043e (utf-8: d0 be) - 0x7c, 0x04, 0x04, 0x04, 0x7c, 0x00, // 255: 'п' U+043f (utf-8: d0 bf) - - // ---- HALF-PAGE U+0440-U+045F (UTF 0xD180-0xD1BF) ---- - 0x7c, 0x14, 0x14, 0x14, 0x08, 0x00, // 256: 'р' U+0440 (utf-8: d1 80) - 0x38, 0x44, 0x44, 0x44, 0x20, 0x00, // 257: 'с' U+0441 (utf-8: d1 81) - 0x04, 0x04, 0x7c, 0x04, 0x04, 0x00, // 258: 'т' U+0442 (utf-8: d1 82) - 0x4c, 0x50, 0x20, 0x10, 0x0c, 0x00, // 259: 'у' U+0443 (utf-8: d1 83) - 0x18, 0x24, 0x7e, 0x24, 0x18, 0x00, // 260: 'ф' U+0444 (utf-8: d1 84) - 0x44, 0x28, 0x10, 0x28, 0x44, 0x00, // 261: 'х' U+0445 (utf-8: d1 85) - 0x3c, 0x20, 0x20, 0x3c, 0x60, 0x00, // 262: 'ц' U+0446 (utf-8: d1 86) - 0x0c, 0x10, 0x10, 0x10, 0x7c, 0x00, // 263: 'ч' U+0447 (utf-8: d1 87) - 0x3c, 0x20, 0x3c, 0x20, 0x3c, 0x00, // 264: 'ш' U+0448 (utf-8: d1 88) - 0x3c, 0x20, 0x3c, 0x20, 0x7c, 0x00, // 265: 'щ' U+0449 (utf-8: d1 89) - 0x04, 0x7c, 0x50, 0x20, 0x00, 0x00, // 266: 'ъ' U+044a (utf-8: d1 8a) - 0x7c, 0x50, 0x20, 0x00, 0x7c, 0x00, // 267: 'ы' U+044b (utf-8: d1 8b) - 0x00, 0x7c, 0x50, 0x20, 0x00, 0x00, // 268: 'ь' U+044c (utf-8: d1 8c) - 0x28, 0x44, 0x54, 0x54, 0x28, 0x00, // 269: 'э' U+044d (utf-8: d1 8d) - 0x7c, 0x10, 0x38, 0x44, 0x38, 0x00, // 270: 'ю' U+044e (utf-8: d1 8e) - 0x48, 0x34, 0x14, 0x14, 0x7c, 0x00, // 271: 'я' U+044f (utf-8: d1 8f) - 0x38, 0x55, 0x56, 0x54, 0x08, 0x00, // 272: 'ѐ' U+0450 (utf-8: d1 90) - 0x38, 0x55, 0x54, 0x55, 0x08, 0x00, // 273: 'ё' U+0451 (utf-8: d1 91) - 0x02, 0x3f, 0x12, 0x48, 0x30, 0x00, // 274: 'ђ' U+0452 (utf-8: d1 92) - 0x7c, 0x04, 0x06, 0x05, 0x04, 0x00, // 275: 'ѓ' U+0453 (utf-8: d1 93) - 0x38, 0x54, 0x54, 0x44, 0x28, 0x00, // 276: 'є' U+0454 (utf-8: d1 94) - 0x08, 0x54, 0x54, 0x54, 0x20, 0x00, // 277: 'ѕ' U+0455 (utf-8: d1 95) - 0x00, 0x44, 0x7d, 0x40, 0x00, 0x00, // 278: 'і' U+0456 (utf-8: d1 96) - 0x00, 0x45, 0x7c, 0x41, 0x00, 0x00, // 279: 'ї' U+0457 (utf-8: d1 97) - 0x20, 0x40, 0x44, 0x3d, 0x00, 0x00, // 280: 'ј' U+0458 (utf-8: d1 98) - 0x7c, 0x04, 0x7c, 0x50, 0x20, 0x00, // 281: 'љ' U+0459 (utf-8: d1 99) - 0x7c, 0x10, 0x7c, 0x50, 0x20, 0x00, // 282: 'њ' U+045a (utf-8: d1 9a) - 0x04, 0x7e, 0x14, 0x10, 0x60, 0x00, // 283: 'ћ' U+045b (utf-8: d1 9b) - 0x7c, 0x12, 0x29, 0x44, 0x00, 0x00, // 284: 'ќ' U+045c (utf-8: d1 9c) - 0x7c, 0x21, 0x12, 0x08, 0x7c, 0x00, // 285: 'ѝ' U+045d (utf-8: d1 9d) - 0x4c, 0x51, 0x22, 0x11, 0x0c, 0x00, // 286: 'ў' U+045e (utf-8: d1 9e) - 0x3c, 0x20, 0x60, 0x20, 0x3c, 0x00, // 287: 'џ' U+045f (utf-8: d1 9f) -#else - /* Latin Extended-A */ - // ---- PAGE U+0100-U+013F (UTF 0xC480-0xC4BF) ---- - 0x78, 0x15, 0x15, 0x15, 0x78, 0x00, // 192: 'Ā' U+0100 (utf-8: c4 80) - 0x20, 0x55, 0x55, 0x55, 0x78, 0x00, // 193: 'ā' U+0101 (utf-8: c4 81) - 0x78, 0x15, 0x16, 0x15, 0x78, 0x00, // 194: 'Ă' U+0102 (utf-8: c4 82) - 0x20, 0x55, 0x56, 0x55, 0x78, 0x00, // 195: 'ă' U+0103 (utf-8: c4 83) - 0x7e, 0x09, 0x09, 0x49, 0xbe, 0x00, // 196: 'Ą' U+0104 (utf-8: c4 84) - 0x20, 0x54, 0x54, 0xd4, 0x78, 0x00, // 197: 'ą' U+0105 (utf-8: c4 85) - 0x38, 0x44, 0x46, 0x45, 0x28, 0x00, // 198: 'Ć' U+0106 (utf-8: c4 86) - 0x38, 0x44, 0x46, 0x45, 0x20, 0x00, // 199: 'ć' U+0107 (utf-8: c4 87) - 0x38, 0x46, 0x45, 0x46, 0x28, 0x00, // 200: 'Ĉ' U+0108 (utf-8: c4 88) - 0x38, 0x46, 0x45, 0x46, 0x20, 0x00, // 201: 'ĉ' U+0109 (utf-8: c4 89) - 0x38, 0x44, 0x45, 0x44, 0x28, 0x00, // 202: 'Ċ' U+010a (utf-8: c4 8a) - 0x38, 0x44, 0x45, 0x44, 0x20, 0x00, // 203: 'ċ' U+010b (utf-8: c4 8b) - 0x38, 0x45, 0x46, 0x45, 0x28, 0x00, // 204: 'Č' U+010c (utf-8: c4 8c) - 0x38, 0x45, 0x46, 0x45, 0x20, 0x00, // 205: 'č' U+010d (utf-8: c4 8d) - 0x7c, 0x45, 0x46, 0x29, 0x10, 0x00, // 206: 'Ď' U+010e (utf-8: c4 8e) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 207: 'ď' U+010f (utf-8: c4 8f) - 0x08, 0x7f, 0x49, 0x22, 0x1c, 0x00, // 208: 'Đ' U+0110 (utf-8: c4 90) - 0x38, 0x44, 0x44, 0x4A, 0x7F, 0x00, // 209: 'đ' U+0111 (utf-8: c4 91) - 0x7c, 0x55, 0x55, 0x55, 0x44, 0x00, // 210: 'Ē' U+0112 (utf-8: c4 92) - 0x38, 0x55, 0x55, 0x55, 0x08, 0x00, // 211: 'ē' U+0113 (utf-8: c4 93) - 0x7c, 0x55, 0x56, 0x55, 0x44, 0x00, // 212: 'Ĕ' U+0114 (utf-8: c4 94) - 0x38, 0x55, 0x56, 0x55, 0x08, 0x00, // 213: 'ĕ' U+0115 (utf-8: c4 95) - 0x7c, 0x54, 0x55, 0x54, 0x44, 0x00, // 214: 'Ė' U+0116 (utf-8: c4 96) - 0x38, 0x54, 0x55, 0x54, 0x08, 0x00, // 215: 'ė' U+0117 (utf-8: c4 97) - 0x7f, 0x49, 0x49, 0xc9, 0x41, 0x00, // 216: 'Ę' U+0118 (utf-8: c4 98) - 0x38, 0x54, 0x54, 0xd4, 0x18, 0x00, // 217: 'ę' U+0119 (utf-8: c4 99) - 0x7c, 0x55, 0x56, 0x55, 0x44, 0x00, // 218: 'Ě' U+011a (utf-8: c4 9a) - 0x38, 0x55, 0x56, 0x55, 0x08, 0x00, // 219: 'ě' U+011b (utf-8: c4 9b) - 0x38, 0x46, 0x55, 0x56, 0x70, 0x00, // 220: 'Ĝ' U+011c (utf-8: c4 9c) - 0x08, 0x56, 0x55, 0x56, 0x3c, 0x00, // 221: 'ĝ' U+011d (utf-8: c4 9d) - 0x38, 0x45, 0x56, 0x55, 0x30, 0x00, // 222: 'Ğ' U+011e (utf-8: c4 9e) - 0x08, 0x55, 0x56, 0x55, 0x3c, 0x00, // 223: 'ğ' U+011f (utf-8: c4 9f) - 0x38, 0x44, 0x55, 0x54, 0x30, 0x00, // 224: 'Ġ' U+0120 (utf-8: c4 a0) - 0x08, 0x54, 0x55, 0x54, 0x3c, 0x00, // 225: 'ġ' U+0121 (utf-8: c4 a1) - 0x0e, 0x51, 0x35, 0x15, 0x1c, 0x00, // 226: 'Ģ' U+0122 (utf-8: c4 a2) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 227: 'ģ' U+0123 (utf-8: c4 a3) - 0x7c, 0x12, 0x11, 0x12, 0x7c, 0x00, // 228: 'Ĥ' U+0124 (utf-8: c4 a4) - 0x02, 0x79, 0x22, 0x10, 0x60, 0x00, // 229: 'ĥ' U+0125 (utf-8: c4 a5) - 0x02, 0x7f, 0x0a, 0x7f, 0x02, 0x00, // 230: 'Ħ' U+0126 (utf-8: c4 a6) - 0x02, 0x7f, 0x12, 0x08, 0x70, 0x00, // 231: 'ħ' U+0127 (utf-8: c4 a7) - 0x4a, 0x49, 0x7a, 0x49, 0x48, 0x00, // 232: 'Ĩ' U+0128 (utf-8: c4 a8) - 0x02, 0x49, 0x7a, 0x41, 0x00, 0x00, // 233: 'ĩ' U+0129 (utf-8: c4 a9) - 0x44, 0x45, 0x7d, 0x45, 0x44, 0x00, // 234: 'Ī' U+012a (utf-8: c4 aa) - 0x00, 0x45, 0x7d, 0x41, 0x00, 0x00, // 235: 'ī' U+012b (utf-8: c4 ab) - 0x44, 0x45, 0x7e, 0x45, 0x44, 0x00, // 236: 'Ĭ' U+012c (utf-8: c4 ac) - 0x00, 0x45, 0x7e, 0x41, 0x00, 0x00, // 237: 'ĭ' U+012d (utf-8: c4 ad) - 0x00, 0x41, 0x7f, 0xc1, 0x00, 0x00, // 238: 'Į' U+012e (utf-8: c4 ae) - 0x00, 0x44, 0x7d, 0xc0, 0x00, 0x00, // 239: 'į' U+012f (utf-8: c4 af) - 0x44, 0x44, 0x7d, 0x44, 0x44, 0x00, // 240: 'İ' U+0130 (utf-8: c4 b0) - 0x00, 0x44, 0x7c, 0x40, 0x00, 0x00, // 241: 'ı' U+0131 (utf-8: c4 b1) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 242: 'IJ' U+0132 (utf-8: c4 b2) - 0x44, 0x7d, 0x40, 0x44, 0x3d, 0x00, // 243: 'ij' U+0133 (utf-8: c4 b3) - 0x20, 0x40, 0x46, 0x3d, 0x06, 0x00, // 244: 'Ĵ' U+0134 (utf-8: c4 b4) - 0x00, 0x20, 0x46, 0x3d, 0x02, 0x00, // 245: 'ĵ' U+0135 (utf-8: c4 b5) - 0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00, // 246: 'Ķ' U+0136 (utf-8: c4 b6) - 0x1f, 0x44, 0x2a, 0x11, 0x00, 0x00, // 247: 'ķ' U+0137 (utf-8: c4 b7) - 0x7c, 0x10, 0x28, 0x44, 0x00, 0x00, // 248: 'ĸ' U+0138 (utf-8: c4 b8) - 0x7c, 0x40, 0x42, 0x41, 0x40, 0x00, // 249: 'Ĺ' U+0139 (utf-8: c4 b9) - 0x00, 0x44, 0x7e, 0x41, 0x00, 0x00, // 250: 'ĺ' U+013a (utf-8: c4 ba) - 0x1f, 0x50, 0x30, 0x10, 0x10, 0x00, // 251: 'Ļ' U+013b (utf-8: c4 bb) - 0x00, 0x51, 0x3f, 0x10, 0x00, 0x00, // 252: 'ļ' U+013c (utf-8: c4 bc) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 253: 'Ľ' U+013d (utf-8: c4 bd) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 254: 'ľ' U+013e (utf-8: c4 be) - 0x7f, 0x40, 0x40, 0x48, 0x40, 0x00, // 255: 'Ŀ' U+013f (utf-8: c4 bf) - - // ---- PAGE U+0140-U+017F (UTF 0xC580-0xC5BF) ---- - 0x00, 0x41, 0x7f, 0x40, 0x08, 0x00, // 256: 'ŀ' U+0140 (utf-8: c5 80) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 257: 'Ł' U+0141 (utf-8: c5 81) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 258: 'ł' U+0142 (utf-8: c5 82) - 0x7c, 0x08, 0x12, 0x21, 0x7c, 0x00, // 259: 'Ń' U+0143 (utf-8: c5 83) - 0x7c, 0x08, 0x06, 0x05, 0x78, 0x00, // 260: 'ń' U+0144 (utf-8: c5 84) - 0x1f, 0x42, 0x24, 0x08, 0x1f, 0x00, // 261: 'Ņ' U+0145 (utf-8: c5 85) - 0x1f, 0x42, 0x21, 0x01, 0x1e, 0x00, // 262: 'ņ' U+0146 (utf-8: c5 86) - 0x7c, 0x09, 0x12, 0x21, 0x7c, 0x00, // 263: 'Ň' U+0147 (utf-8: c5 87) - 0x7c, 0x09, 0x06, 0x05, 0x78, 0x00, // 264: 'ň' U+0148 (utf-8: c5 88) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 265: 'ʼn' U+0149 (utf-8: c5 89) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 266: 'Ŋ' U+014a (utf-8: c5 8a) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 267: 'ŋ' U+014b (utf-8: c5 8b) - 0x38, 0x45, 0x45, 0x45, 0x38, 0x00, // 268: 'Ō' U+014c (utf-8: c5 8c) - 0x38, 0x45, 0x45, 0x45, 0x38, 0x00, // 269: 'ō' U+014d (utf-8: c5 8d) - 0x38, 0x45, 0x46, 0x45, 0x38, 0x00, // 270: 'Ŏ' U+014e (utf-8: c5 8e) - 0x38, 0x45, 0x46, 0x45, 0x38, 0x00, // 271: 'ŏ' U+014f (utf-8: c5 8f) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 272: 'Ő' U+0150 (utf-8: c5 90) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 273: 'ő' U+0151 (utf-8: c5 91) - 0x3e, 0x41, 0x7f, 0x49, 0x49, 0x00, // 274: 'Œ' U+0152 (utf-8: c5 92) - 0x38, 0x44, 0x7c, 0x54, 0x58, 0x00, // 275: 'œ' U+0153 (utf-8: c5 93) - 0x7c, 0x14, 0x16, 0x15, 0x68, 0x00, // 276: 'Ŕ' U+0154 (utf-8: c5 94) - 0x7c, 0x08, 0x06, 0x05, 0x08, 0x00, // 277: 'ŕ' U+0155 (utf-8: c5 95) - 0x1f, 0x45, 0x25, 0x05, 0x1a, 0x00, // 278: 'Ŗ' U+0156 (utf-8: c5 96) - 0x1f, 0x42, 0x21, 0x01, 0x02, 0x00, // 279: 'ŗ' U+0157 (utf-8: c5 97) - 0x7c, 0x15, 0x16, 0x15, 0x68, 0x00, // 280: 'Ř' U+0158 (utf-8: c5 98) - 0x7c, 0x09, 0x06, 0x05, 0x08, 0x00, // 281: 'ř' U+0159 (utf-8: c5 99) - 0x08, 0x54, 0x56, 0x55, 0x20, 0x00, // 282: 'Ś' U+015a (utf-8: c5 9a) - 0x48, 0x54, 0x56, 0x55, 0x24, 0x00, // 283: 'ś' U+015b (utf-8: c5 9b) - 0x08, 0x56, 0x55, 0x56, 0x20, 0x00, // 284: 'Ŝ' U+015c (utf-8: c5 9c) - 0x48, 0x56, 0x55, 0x56, 0x24, 0x00, // 285: 'ŝ' U+015d (utf-8: c5 9d) - 0x02, 0x55, 0x35, 0x15, 0x08, 0x00, // 286: 'Ş' U+015e (utf-8: c5 9e) - 0x12, 0x55, 0x35, 0x15, 0x09, 0x00, // 287: 'ş' U+015f (utf-8: c5 9f) - 0x08, 0x55, 0x56, 0x55, 0x20, 0x00, // 288: 'Š' U+0160 (utf-8: c5 a0) - 0x48, 0x55, 0x56, 0x55, 0x24, 0x00, // 289: 'š' U+0161 (utf-8: c5 a1) - 0x01, 0x41, 0x3f, 0x01, 0x01, 0x00, // 290: 'Ţ' U+0162 (utf-8: c5 a2) - 0x02, 0x4f, 0x32, 0x10, 0x08, 0x00, // 291: 'ţ' U+0163 (utf-8: c5 a3) - 0x04, 0x05, 0x7e, 0x05, 0x04, 0x00, // 292: 'Ť' U+0164 (utf-8: c5 a4) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 293: 'ť' U+0165 (utf-8: c5 a5) - 0x01, 0x09, 0x7f, 0x09, 0x01, 0x00, // 294: 'Ŧ' U+0166 (utf-8: c5 a6) - 0x14, 0x3e, 0x54, 0x40, 0x20, 0x00, // 295: 'ŧ' U+0167 (utf-8: c5 a7) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 296: 'Ũ' U+0168 (utf-8: c5 a8) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 297: 'ũ' U+0169 (utf-8: c5 a9) - 0x3c, 0x41, 0x41, 0x41, 0x3c, 0x00, // 298: 'Ū' U+016a (utf-8: c5 aa) - 0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00, // 299: 'ū' U+016b (utf-8: c5 ab) - 0x3c, 0x41, 0x42, 0x41, 0x3c, 0x00, // 300: 'Ŭ' U+016c (utf-8: c5 ac) - 0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00, // 301: 'ŭ' U+016d (utf-8: c5 ad) - 0x3c, 0x40, 0x41, 0x40, 0x3c, 0x00, // 302: 'Ů' U+016e (utf-8: c5 ae) - 0x3c, 0x41, 0x41, 0x21, 0x7c, 0x00, // 303: 'ů' U+016f (utf-8: c5 af) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 304: 'Ű' U+0170 (utf-8: c5 b0) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 305: 'ű' U+0171 (utf-8: c5 b1) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 306: 'Ų' U+0172 (utf-8: c5 b2) - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 307: 'ų' U+0173 (utf-8: c5 b3) - 0x3c, 0x42, 0x39, 0x42, 0x3c, 0x00, // 308: 'Ŵ' U+0174 (utf-8: c5 b4) - 0x3c, 0x42, 0x31, 0x42, 0x3c, 0x00, // 309: 'ŵ' U+0175 (utf-8: c5 b5) - 0x04, 0x0a, 0x71, 0x0a, 0x04, 0x00, // 310: 'Ŷ' U+0176 (utf-8: c5 b6) - 0x04, 0x4a, 0x31, 0x12, 0x0c, 0x00, // 311: 'ŷ' U+0177 (utf-8: c5 b7) - 0x04, 0x09, 0x70, 0x09, 0x04, 0x00, // 312: 'Ÿ' U+0178 (utf-8: c5 b8) - 0x44, 0x64, 0x56, 0x4d, 0x44, 0x00, // 313: 'Ź' U+0179 (utf-8: c5 b9) - 0x44, 0x64, 0x56, 0x4d, 0x44, 0x00, // 314: 'ź' U+017a (utf-8: c5 ba) - 0x44, 0x64, 0x55, 0x4c, 0x44, 0x00, // 315: 'Ż' U+017b (utf-8: c5 bb) - 0x44, 0x64, 0x55, 0x4c, 0x44, 0x00, // 316: 'ż' U+017c (utf-8: c5 bc) - 0x44, 0x65, 0x56, 0x4d, 0x44, 0x00, // 317: 'Ž' U+017d (utf-8: c5 bd) - 0x44, 0x65, 0x56, 0x4d, 0x44, 0x00, // 318: 'ž' U+017e (utf-8: c5 be) - 0x00, 0x04, 0x7e, 0x01, 0x01, 0x00 // 319: 'ſ' U+017f (utf-8: c5 bf) -#endif -}; #endif /* FONT_H_ */ diff --git a/workspace/TS100/inc/OLED.hpp b/workspace/TS100/inc/OLED.hpp index 5f902de2..f57e3355 100644 --- a/workspace/TS100/inc/OLED.hpp +++ b/workspace/TS100/inc/OLED.hpp @@ -38,7 +38,6 @@ public: //or we need to goto double buffering } - static void drawChar(char c, char preCursorCommand = '\0'); // Draw a character to a specific location // Turn the screen on or not static void displayOnOff(bool on) { displayOnOffState = on; @@ -92,9 +91,7 @@ public: bool clear); static void drawHeatSymbol(uint8_t state); private: - - //Draw a buffer to the screen buffer - + static void drawChar(char c); // Draw a character to a specific location static const uint8_t* currentFont;// Pointer to the current font used for rendering to the buffer static uint8_t* firstStripPtr; // Pointers to the strips to allow for buffer having extra content static uint8_t* secondStripPtr; //Pointers to the strips diff --git a/workspace/TS100/inc/Settings.h b/workspace/TS100/inc/Settings.h index 0d99698f..5e883651 100644 --- a/workspace/TS100/inc/Settings.h +++ b/workspace/TS100/inc/Settings.h @@ -48,6 +48,9 @@ typedef struct { uint8_t customTipGain; // Tip gain value if custom tuned, or 0 if using a // tipType param uint8_t tipType; +#ifdef MODEL_TS80 + uint8_t pidPowerLimit; +#endif uint32_t padding; // This is here for in case we are not an even divisor so // that nothing gets cut off } systemSettingsType; diff --git a/workspace/TS100/inc/Translation.h b/workspace/TS100/inc/Translation.h index afb1dcc2..ec1f6b83 100644 --- a/workspace/TS100/inc/Translation.h +++ b/workspace/TS100/inc/Translation.h @@ -7,12 +7,12 @@ #ifndef TRANSLATION_H_ #define TRANSLATION_H_ - +#include "stm32f1xx_hal.h" enum ShortNameType { - SHORT_NAME_SINGLE_LINE = 1, - SHORT_NAME_DOUBLE_LINE = 2, + SHORT_NAME_SINGLE_LINE = 1, SHORT_NAME_DOUBLE_LINE = 2, }; - +extern const uint8_t USER_FONT_12[]; +extern const uint8_t USER_FONT_6x8[]; /* * When SettingsShortNameType is SHORT_NAME_SINGLE_LINE * use SettingsShortNames as SettingsShortNames[16][1].. second column undefined @@ -41,14 +41,30 @@ extern const char* IdleSetString; extern const char* TipDisconnectedString; extern const char* SolderingAdvancedPowerPrompt; extern const char* OffString; +extern const char* ResetOKMessage; +extern const char* YourGainMessage; -extern const char SettingTrueChar; -extern const char SettingFalseChar; -extern const char SettingRightChar; -extern const char SettingLeftChar; -extern const char SettingAutoChar; +extern const char* SettingTrueChar; +extern const char* SettingFalseChar; +extern const char* SettingRightChar; +extern const char* SettingLeftChar; +extern const char* SettingAutoChar; -extern const char SettingFastChar; -extern const char SettingSlowChar; +extern const char* SettingFastChar; +extern const char* SettingSlowChar; +extern const char* TipModelStrings[]; +extern const char* SymbolPlus; +extern const char* SymbolMinus; +extern const char* SymbolSpace; +extern const char* SymbolDot; +extern const char* SymbolDegC; +extern const char* SymbolDegF; +extern const char* SymbolMinutes; +extern const char* SymbolSeconds; +extern const char* SymbolWatts; +extern const char* SymbolVolts; +extern const char* SymbolDC; +extern const char* SymbolCellCount; +extern const char* SymbolVersionNumber; #endif /* TRANSLATION_H_ */ diff --git a/workspace/TS100/inc/hardware.h b/workspace/TS100/inc/hardware.h index 78635e02..ecc142f2 100644 --- a/workspace/TS100/inc/hardware.h +++ b/workspace/TS100/inc/hardware.h @@ -106,7 +106,7 @@ enum TipType { #endif #ifdef MODEL_TS80 enum TipType { - TS_B02 = 0, TS_D25 = 1, Tip_MiniWare = 2, Tip_Custom = 2, + TS_B02 = 0, TS_D25 = 1, Tip_MiniWare = 2, Tip_Custom = 3, }; #endif extern uint16_t tipGainCalValue ; diff --git a/workspace/TS100/src/OLED.cpp b/workspace/TS100/src/OLED.cpp index 62d6634a..13d6bfee 100644 --- a/workspace/TS100/src/OLED.cpp +++ b/workspace/TS100/src/OLED.cpp @@ -12,12 +12,12 @@ #include "cmsis_os.h" const uint8_t* OLED::currentFont; // Pointer to the current font used for - // rendering to the buffer +// rendering to the buffer uint8_t* OLED::firstStripPtr; // Pointers to the strips to allow for buffer - // having extra content +// having extra content uint8_t* OLED::secondStripPtr; // Pointers to the strips bool OLED::inLeftHandedMode; // Whether the screen is in left or not (used for - // offsets in GRAM) +// offsets in GRAM) bool OLED::displayOnOffState; // If the display is on or not uint8_t OLED::fontWidth, OLED::fontHeight; int16_t OLED::cursor_x, OLED::cursor_y; @@ -29,58 +29,57 @@ uint8_t OLED::screenBuffer[16 + (OLED_WIDTH * 2) + 10]; // The data buffer /*All commands are prefixed with 0x80*/ /*Data packets are prefixed with 0x40*/ uint8_t OLED_Setup_Array[] = { - /**/ - 0x80, 0xAE, /*Display off*/ - 0x80, 0xD5, /*Set display clock divide ratio / osc freq*/ - 0x80, 0x52, /*Divide ratios*/ - 0x80, 0xA8, /*Set Multiplex Ratio*/ - 0x80, 0x0F, /*16 == max brightness,39==dimmest*/ - 0x80, 0xC0, /*Set COM Scan direction*/ - 0x80, 0xD3, /*Set vertical Display offset*/ - 0x80, 0x00, /*0 Offset*/ - 0x80, 0x40, /*Set Display start line to 0*/ - 0x80, 0xA0, /*Set Segment remap to normal*/ - 0x80, 0x8D, /*Charge Pump*/ - 0x80, 0x14, /*Charge Pump settings*/ - 0x80, 0xDA, /*Set VCOM Pins hardware config*/ - 0x80, 0x02, /*Combination 2*/ - 0x80, 0x81, /*Contrast*/ - 0x80, 0x33, /*^51*/ - 0x80, 0xD9, /*Set pre-charge period*/ - 0x80, 0xF1, /*Pre charge period*/ - 0x80, 0xDB, /*Adjust VCOMH regulator ouput*/ - 0x80, 0x30, /*VCOM level*/ - 0x80, 0xA4, /*Enable the display GDDR*/ - 0x80, 0XA6, /*Normal display*/ - 0x80, 0x20, /*Memory Mode*/ - 0x80, 0x00, /*Wrap memory*/ - 0x80, 0xAF /*Display on*/ +/**/ +0x80, 0xAE, /*Display off*/ +0x80, 0xD5, /*Set display clock divide ratio / osc freq*/ +0x80, 0x52, /*Divide ratios*/ +0x80, 0xA8, /*Set Multiplex Ratio*/ +0x80, 0x0F, /*16 == max brightness,39==dimmest*/ +0x80, 0xC0, /*Set COM Scan direction*/ +0x80, 0xD3, /*Set vertical Display offset*/ +0x80, 0x00, /*0 Offset*/ +0x80, 0x40, /*Set Display start line to 0*/ +0x80, 0xA0, /*Set Segment remap to normal*/ +0x80, 0x8D, /*Charge Pump*/ +0x80, 0x14, /*Charge Pump settings*/ +0x80, 0xDA, /*Set VCOM Pins hardware config*/ +0x80, 0x02, /*Combination 2*/ +0x80, 0x81, /*Contrast*/ +0x80, 0x33, /*^51*/ +0x80, 0xD9, /*Set pre-charge period*/ +0x80, 0xF1, /*Pre charge period*/ +0x80, 0xDB, /*Adjust VCOMH regulator ouput*/ +0x80, 0x30, /*VCOM level*/ +0x80, 0xA4, /*Enable the display GDDR*/ +0x80, 0XA6, /*Normal display*/ +0x80, 0x20, /*Memory Mode*/ +0x80, 0x00, /*Wrap memory*/ +0x80, 0xAF /*Display on*/ }; // Setup based on the SSD1307 and modified for the SSD1306 -const uint8_t REFRESH_COMMANDS[17] = {0x80, 0xAF, 0x80, 0x21, 0x80, 0x20, - 0x80, 0x7F, 0x80, 0xC0, 0x80, 0x22, - 0x80, 0x00, 0x80, 0x01, 0x40}; +const uint8_t REFRESH_COMMANDS[17] = { 0x80, 0xAF, 0x80, 0x21, 0x80, 0x20, 0x80, + 0x7F, 0x80, 0xC0, 0x80, 0x22, 0x80, 0x00, 0x80, 0x01, 0x40 }; void OLED::initialize() { - cursor_x = cursor_y = 0; - currentFont = FONT_12; - fontWidth = 12; - inLeftHandedMode = false; - firstStripPtr = &screenBuffer[FRAMEBUFFER_START]; - secondStripPtr = &screenBuffer[FRAMEBUFFER_START + OLED_WIDTH]; - fontHeight = 16; - displayOffset = 0; - displayOnOffState = true; - memcpy(&screenBuffer[0], &REFRESH_COMMANDS[0], sizeof(REFRESH_COMMANDS)); + cursor_x = cursor_y = 0; + currentFont = USER_FONT_12; + fontWidth = 12; + inLeftHandedMode = false; + firstStripPtr = &screenBuffer[FRAMEBUFFER_START]; + secondStripPtr = &screenBuffer[FRAMEBUFFER_START + OLED_WIDTH]; + fontHeight = 16; + displayOffset = 0; + displayOnOffState = true; + memcpy(&screenBuffer[0], &REFRESH_COMMANDS[0], sizeof(REFRESH_COMMANDS)); - HAL_Delay(50); - HAL_GPIO_WritePin(OLED_RESET_GPIO_Port, OLED_RESET_Pin, GPIO_PIN_SET); - HAL_Delay(50); - // Send the setup settings - FRToSI2C::Transmit(DEVICEADDR_OLED, (uint8_t*)OLED_Setup_Array, - sizeof(OLED_Setup_Array)); - displayOnOff(true); + HAL_Delay(50); + HAL_GPIO_WritePin(OLED_RESET_GPIO_Port, OLED_RESET_Pin, GPIO_PIN_SET); + HAL_Delay(50); + // Send the setup settings + FRToSI2C::Transmit(DEVICEADDR_OLED, (uint8_t*) OLED_Setup_Array, + sizeof(OLED_Setup_Array)); + displayOnOff(true); } /* @@ -88,280 +87,236 @@ void OLED::initialize() { * UTF font handling is done using the two input chars. * Precursor is the command char that is used to select the table. */ -void OLED::drawChar(char c, char PrecursorCommand) { - if (c == '\n' && cursor_y == 0) { - cursor_x = 0; - cursor_y = 8; - } - if (c < ' ') { - return; - } - uint16_t index = 0; - if (PrecursorCommand == 0) { - // Fonts are offset to start at the space char - index = (c - ' '); - } else { - // This is for extended range - // We decode the precursor command to find the offset - // Latin starts at 96 - c -= 0x80; - - switch (PrecursorCommand) { - case 0xC2: - index = (96 - 32) + (c); - break; //-32 compensate for chars excluded from font C2 section - case 0xC3: - index = (128) + (c); - break; -#if defined(LANG_RU) || defined(LANG_UK) || defined(LANG_SR) || \ - defined(LANG_BG) || defined(LANG_MK) - case 0xD0: - index = (192) + (c); - break; - case 0xD1: - index = (256) + (c); - break; -#else - case 0xC4: - index = (192) + (c); - break; - case 0xC5: - index = (256) + (c); - break; -#endif - - default: - return; - } - } - uint8_t* charPointer; - charPointer = - ((uint8_t*)currentFont) + ((fontWidth * (fontHeight / 8)) * index); - - drawArea(cursor_x, cursor_y, fontWidth, fontHeight, charPointer); - - cursor_x += fontWidth; +void OLED::drawChar(char c) { + if (c == '\x01' && cursor_y == 0) { // 0x01 is used as new line char + cursor_x = 0; + cursor_y = 8; + return; + } else if (c == 0) { + return; + } + uint16_t index = c - 2; //First index is \x02 + uint8_t* charPointer; + charPointer = ((uint8_t*) currentFont) + + ((fontWidth * (fontHeight / 8)) * index); + drawArea(cursor_x, cursor_y, fontWidth, fontHeight, charPointer); + cursor_x += fontWidth; } void OLED::setRotation(bool leftHanded) { #ifdef MODEL_TS80 - leftHanded=!leftHanded; + leftHanded = !leftHanded; #endif - if (inLeftHandedMode == leftHanded) { - return; - } + if (inLeftHandedMode == leftHanded) { + return; + } - // send command struct again with changes - if (leftHanded) { - OLED_Setup_Array[11] = 0xC8; // c1? - OLED_Setup_Array[19] = 0xA1; - } else { - OLED_Setup_Array[11] = 0xC0; - OLED_Setup_Array[19] = 0xA0; - } - FRToSI2C::Transmit(DEVICEADDR_OLED, (uint8_t*)OLED_Setup_Array, - sizeof(OLED_Setup_Array)); - inLeftHandedMode = leftHanded; + // send command struct again with changes + if (leftHanded) { + OLED_Setup_Array[11] = 0xC8; // c1? + OLED_Setup_Array[19] = 0xA1; + } else { + OLED_Setup_Array[11] = 0xC0; + OLED_Setup_Array[19] = 0xA0; + } + FRToSI2C::Transmit(DEVICEADDR_OLED, (uint8_t*) OLED_Setup_Array, + sizeof(OLED_Setup_Array)); + inLeftHandedMode = leftHanded; - screenBuffer[5] = - inLeftHandedMode ? 0 : 32; // display is shifted by 32 in left handed - // mode as driver ram is 128 wide - screenBuffer[7] = - inLeftHandedMode - ? 95 - : 0x7F; // End address of the ram segment we are writing to (96 wide) - screenBuffer[9] = inLeftHandedMode ? 0xC8 : 0xC0; + screenBuffer[5] = inLeftHandedMode ? 0 : 32; // display is shifted by 32 in left handed + // mode as driver ram is 128 wide + screenBuffer[7] = inLeftHandedMode ? 95 : 0x7F; // End address of the ram segment we are writing to (96 wide) + screenBuffer[9] = inLeftHandedMode ? 0xC8 : 0xC0; } // print a string to the current cursor location void OLED::print(const char* str) { - while (str[0]) { - if (str[0] >= 0x80) { - drawChar(str[1], str[0]); - str++; // skip this marker - } else - drawChar(str[0]); - str++; - } + while (str[0]) { + drawChar(str[0]); + str++; + } } void OLED::setFont(uint8_t fontNumber) { - if (fontNumber == 1) { - // small font - currentFont = FONT_6x8; - fontHeight = 8; - fontWidth = 6; - } else if (fontNumber == 2) { - currentFont = ExtraFontChars; - fontHeight = 16; - fontWidth = 12; - } else { - currentFont = FONT_12; - fontHeight = 16; - fontWidth = 12; - } + if (fontNumber == 1) { + // small font + currentFont = USER_FONT_6x8; + fontHeight = 8; + fontWidth = 6; + } else if (fontNumber == 2) { + currentFont = ExtraFontChars; + fontHeight = 16; + fontWidth = 12; + } else { + currentFont = USER_FONT_12; + fontHeight = 16; + fontWidth = 12; + } } // maximum places is 5 void OLED::printNumber(uint16_t number, uint8_t places) { - char buffer[7] = {0}; + char buffer[7] = { 0 }; - if (places >= 5) { - buffer[5] = '0' + number % 10; - number /= 10; - } - if (places > 4) { - buffer[4] = '0' + number % 10; - number /= 10; - } + if (places >= 5) { + buffer[5] = 2 + number % 10; + number /= 10; + } + if (places > 4) { + buffer[4] = 2 + number % 10; + number /= 10; + } - if (places > 3) { - buffer[3] = '0' + number % 10; - number /= 10; - } + if (places > 3) { + buffer[3] = 2 + number % 10; + number /= 10; + } - if (places > 2) { - buffer[2] = '0' + number % 10; - number /= 10; - } + if (places > 2) { + buffer[2] = 2 + number % 10; + number /= 10; + } - if (places > 1) { - buffer[1] = '0' + number % 10; - number /= 10; - } + if (places > 1) { + buffer[1] = 2 + number % 10; + number /= 10; + } - buffer[0] = '0' + number % 10; - number /= 10; - print(buffer); + buffer[0] = 2 + number % 10; + number /= 10; + print(buffer); } void OLED::debugNumber(int32_t val) { if (abs(val) > 99999) { - OLED::print(" OoB"); // out of bounds + OLED::print(SymbolSpace); // out of bounds return; } if (val >= 0) { - OLED::drawChar(' '); + OLED::print(SymbolSpace); OLED::printNumber(val, 5); } else { - OLED::drawChar('-'); + OLED::print(SymbolMinus); OLED::printNumber(-val, 5); } } void OLED::drawSymbol(uint8_t symbolID) { - // draw a symbol to the current cursor location - setFont(2); - drawChar(' ' + symbolID); // space offset is in all fonts, so we pad it here - // and remove it later - setFont(0); + // draw a symbol to the current cursor location + setFont(2); + drawChar(symbolID + 2); + setFont(0); } // Draw an area, but y must be aligned on 0/8 offset void OLED::drawArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, - const uint8_t* ptr) { - // Splat this from x->x+wide in two strides - if (x <= -wide) return; // cutoffleft - if (x > 96) return; // cutoff right + const uint8_t* ptr) { + // Splat this from x->x+wide in two strides + if (x <= -wide) + return; // cutoffleft + if (x > 96) + return; // cutoff right - uint8_t visibleStart = 0; - uint8_t visibleEnd = wide; + uint8_t visibleStart = 0; + uint8_t visibleEnd = wide; - // trimming to draw partials - if (x < 0) { - visibleStart -= x; // subtract negative value == add absolute value - } - if (x + wide > 96) { - visibleEnd = 96 - x; - } + // trimming to draw partials + if (x < 0) { + visibleStart -= x; // subtract negative value == add absolute value + } + if (x + wide > 96) { + visibleEnd = 96 - x; + } - if (y == 0) { - // Splat first line of data - for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { - firstStripPtr[xx + x] = ptr[xx]; - } - } - if (y == 8 || height == 16) { - // Splat the second line - for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { - secondStripPtr[x + xx] = ptr[xx + (height == 16 ? wide : 0)]; - } - } + if (y == 0) { + // Splat first line of data + for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { + firstStripPtr[xx + x] = ptr[xx]; + } + } + if (y == 8 || height == 16) { + // Splat the second line + for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { + secondStripPtr[x + xx] = ptr[xx + (height == 16 ? wide : 0)]; + } + } } void OLED::fillArea(int16_t x, int8_t y, uint8_t wide, uint8_t height, - const uint8_t value) { - // Splat this from x->x+wide in two strides - if (x <= -wide) return; // cutoffleft - if (x > 96) return; // cutoff right + const uint8_t value) { + // Splat this from x->x+wide in two strides + if (x <= -wide) + return; // cutoffleft + if (x > 96) + return; // cutoff right - uint8_t visibleStart = 0; - uint8_t visibleEnd = wide; + uint8_t visibleStart = 0; + uint8_t visibleEnd = wide; - // trimming to draw partials - if (x < 0) { - visibleStart -= x; // subtract negative value == add absolute value - } - if (x + wide > 96) { - visibleEnd = 96 - x; - } + // trimming to draw partials + if (x < 0) { + visibleStart -= x; // subtract negative value == add absolute value + } + if (x + wide > 96) { + visibleEnd = 96 - x; + } - if (y == 0) { - // Splat first line of data - for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { - firstStripPtr[xx + x] = value; - } - } - if (y == 8 || height == 16) { - // Splat the second line - for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { - secondStripPtr[x + xx] = value; - } - } + if (y == 0) { + // Splat first line of data + for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { + firstStripPtr[xx + x] = value; + } + } + if (y == 8 || height == 16) { + // Splat the second line + for (uint8_t xx = visibleStart; xx < visibleEnd; xx++) { + secondStripPtr[x + xx] = value; + } + } } void OLED::drawFilledRect(uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1, - bool clear) { - // Draw this in 3 sections - // This is basically a N wide version of vertical line + bool clear) { + // Draw this in 3 sections + // This is basically a N wide version of vertical line - // Step 1 : Draw in the top few pixels that are not /8 aligned - // LSB is at the top of the screen - uint8_t mask = 0xFF; - if (y0) { - mask = mask << (y0 % 8); - for (uint8_t col = x0; col < x1; col++) - if (clear) - firstStripPtr[(y0 / 8) * 96 + col] &= ~mask; - else - firstStripPtr[(y0 / 8) * 96 + col] |= mask; - } - // Next loop down the line the total number of solids - if (y0 / 8 != y1 / 8) - for (uint8_t col = x0; col < x1; col++) - for (uint8_t r = (y0 / 8); r < (y1 / 8); r++) { - // This gives us the row index r - if (clear) - firstStripPtr[(r * 96) + col] = 0; - else - firstStripPtr[(r * 96) + col] = 0xFF; - } + // Step 1 : Draw in the top few pixels that are not /8 aligned + // LSB is at the top of the screen + uint8_t mask = 0xFF; + if (y0) { + mask = mask << (y0 % 8); + for (uint8_t col = x0; col < x1; col++) + if (clear) + firstStripPtr[(y0 / 8) * 96 + col] &= ~mask; + else + firstStripPtr[(y0 / 8) * 96 + col] |= mask; + } + // Next loop down the line the total number of solids + if (y0 / 8 != y1 / 8) + for (uint8_t col = x0; col < x1; col++) + for (uint8_t r = (y0 / 8); r < (y1 / 8); r++) { + // This gives us the row index r + if (clear) + firstStripPtr[(r * 96) + col] = 0; + else + firstStripPtr[(r * 96) + col] = 0xFF; + } - // Finally draw the tail - mask = ~(mask << (y1 % 8)); - for (uint8_t col = x0; col < x1; col++) - if (clear) - firstStripPtr[(y1 / 8) * 96 + col] &= ~mask; - else - firstStripPtr[(y1 / 8) * 96 + col] |= mask; + // Finally draw the tail + mask = ~(mask << (y1 % 8)); + for (uint8_t col = x0; col < x1; col++) + if (clear) + firstStripPtr[(y1 / 8) * 96 + col] &= ~mask; + else + firstStripPtr[(y1 / 8) * 96 + col] |= mask; } void OLED::drawHeatSymbol(uint8_t state) { - // Draw symbol 14 - // Then draw over it, the bottom 5 pixels always stay. 8 pixels above that are - // the levels masks the symbol nicely - state /= 31; // 0-> 8 range - // Then we want to draw down (16-(5+state) - uint8_t cursor_x_temp = cursor_x; - drawSymbol(14); - drawFilledRect(cursor_x_temp, 0, cursor_x_temp + 12, 2 + (8 - state), true); + // Draw symbol 14 + // Then draw over it, the bottom 5 pixels always stay. 8 pixels above that are + // the levels masks the symbol nicely + state /= 31; // 0-> 8 range + // Then we want to draw down (16-(5+state) + uint8_t cursor_x_temp = cursor_x; + drawSymbol(14); + drawFilledRect(cursor_x_temp, 0, cursor_x_temp + 12, 2 + (8 - state), true); } diff --git a/workspace/TS100/src/Settings.cpp b/workspace/TS100/src/Settings.cpp index f3ab233f..bd355b47 100644 --- a/workspace/TS100/src/Settings.cpp +++ b/workspace/TS100/src/Settings.cpp @@ -114,7 +114,7 @@ void resetSettings() { systemSettings.tipType = TS_B2; // Default to the B2 Tip #endif #ifdef MODEL_TS80 - + systemSettings.pidPowerLimit=24; // Sets the max pwm power limit systemSettings.tipType = TS_B02; // Default to the B2 Tip #endif saveSettings(); // Save defaults diff --git a/workspace/TS100/src/Translation.cpp b/workspace/TS100/src/Translation.cpp deleted file mode 100644 index 6ffda12d..00000000 --- a/workspace/TS100/src/Translation.cpp +++ /dev/null @@ -1,2246 +0,0 @@ -// WARNING: THIS FILE WAS AUTO GENERATED BY make_translation.py. PLEASE DO NOT EDIT. - -#include "Translation.h" -#ifndef LANG -#define LANG_EN -#endif - -#ifdef LANG_EN -// ---- English ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Power source. Sets cutoff voltage. ", - /* SleepTemperature */ "Sleep Temperature ", - /* SleepTimeout */ "Sleep Timeout ", - /* ShutdownTimeout */ "Shutdown Timeout ", - /* MotionSensitivity */ "Motion Sensitivity <0.Off 1.least sensitive 9.most sensitive>", - /* TemperatureUnit */ "Temperature Unit ", - /* AdvancedIdle */ "Display detailed information in a smaller font on the idle screen.", - /* DisplayRotation */ "Display Orientation ", - /* BoostEnabled */ "Enable front key enters boost mode 450C mode when soldering", - /* BoostTemperature */ "Temperature when in \"boost\" mode", - /* AutoStart */ "Automatically starts the iron into soldering on power up. T=Soldering, S= Sleep mode,F=Off", - /* CooldownBlink */ "Blink the temperature on the cooling screen while the tip is still hot.", - /* TemperatureCalibration */ "Calibrate tip offset.", - /* SettingsReset */ "Reset all settings", - /* VoltageCalibration */ "VIN Calibration. Buttons adjust, long press to exit", - /* AdvancedSoldering */ "Display detailed information while soldering", - /* ScrollingSpeed */ "Speed this text scrolls past at", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; -const char* SettingsResetWarning = "Are you sure you want to reset settings to default values?"; -const char* UVLOWarningString = "DC LOW"; -const char* UndervoltageString = "Undervoltage"; -const char* InputVoltageString = "Input V: "; -const char* WarningTipTempString = "Tip Temp: "; -const char* BadTipString = "BAD TIP"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Sleeping..."; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "!!! TIP HOT !!!"; -const char* SleepingTipAdvancedString = "Tip:"; -const char* IdleTipString = "Tip:"; -const char* IdleSetString = " Set:"; -const char* TipDisconnectedString = "TIP DISCONNECTED"; -const char* SolderingAdvancedPowerPrompt = "Power: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Power", "source" }, - /* SleepTemperature */ { "Sleep", "temp" }, - /* SleepTimeout */ { "Sleep", "timeout" }, - /* ShutdownTimeout */ { "Shutdown", "timeout" }, - /* MotionSensitivity */ { "Motion", "sensitivity" }, - /* TemperatureUnit */ { "Temperature", "units" }, - /* AdvancedIdle */ { "Detailed", "idle screen" }, - /* DisplayRotation */ { "Display", "orientation" }, - /* BoostEnabled */ { "Boost mode", "enabled" }, - /* BoostTemperature */ { "Boost", "temp" }, - /* AutoStart */ { "Auto", "start" }, - /* CooldownBlink */ { "Cooldown", "blink" }, - /* TemperatureCalibration */ { "Calibrate", "temperature?" }, - /* SettingsReset */ { "Factory", "Reset?" }, - /* VoltageCalibration */ { "Calibrate", "input voltage?" }, - /* AdvancedSoldering */ { "Detailed", "solder screen" }, - /* ScrollingSpeed */ { "Scrolling", "Speed" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Soldering\nSettings", - /* PowerSavingMenu */ "Sleep\nModes", - /* UIMenu */ "User\nInterface", - /* AdvancedMenu */ "Advanced\nOptions", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Soldering settings", - /* PowerSavingMenu */ "Power saving settings", - /* UIMenu */ "User interface settings", - /* AdvancedMenu */ "Advanced options", -}; - -#endif - -#ifdef LANG_BG -// ---- Български ---- - -#define CYRILLIC_GLYPHS - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Източник на захранване. Минимално напрежение. ", - /* SleepTemperature */ "Температура при режим \"сън\" ", - /* SleepTimeout */ "Включване в режим \"сън\" след: <Минути/Секунди>", - /* ShutdownTimeout */ "Изключване след <Минути>", - /* MotionSensitivity */ "Усещане за движение <0.Изключено 1.Слабо 9.Силно>", - /* TemperatureUnit */ "Единици за температура ", - /* AdvancedIdle */ "Покажи детайлна информация със ситен шрифт на екрана в режим на покой.", - /* DisplayRotation */ "Ориентация на дисплея ", - /* BoostEnabled */ "Ползвай предния бутон за \"турбо\" режим с температура до 450C при запояване", - /* BoostTemperature */ "Температура за \"турбо\" режим", - /* AutoStart */ "Режим на поялника при включване на захранването. T=Работен, S=Сън, F=Изключен", - /* CooldownBlink */ "След изключване от работен режим, индикатора за температура да мига докато човката на поялника все още е топла", - /* TemperatureCalibration */ "Калибриране на температурата", - /* SettingsReset */ "Връщане на фабрични настройки", - /* VoltageCalibration */ "Калибриране на входното напрежение (VIN). Задръжте бутонa за изход", - /* AdvancedSoldering */ "Детайлна информация в работен режим при запояване", - /* ScrollingSpeed */ "Скорост на движение на този текст", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Уверете се, че човката на поялника е със стайна температура преди да продължите!"; -const char* SettingsResetWarning = "Сигурни ли сте, че искате да върнете фабричните настройки?"; -const char* UVLOWarningString = "Ниско V!"; -const char* UndervoltageString = "Ниско Напрежение"; -const char* InputVoltageString = "Входно V: "; -const char* WarningTipTempString = "Темп.: "; -const char* BadTipString = "ЛОШ ВРЪХ"; -const char* SleepingSimpleString = "Сън"; -const char* SleepingAdvancedString = "Хър Хър Хър..."; -const char* WarningSimpleString = "ОХ!"; -const char* WarningAdvancedString = "ВНИМАНИЕ! ТОПЛО!"; -const char* SleepingTipAdvancedString = "Връх:"; -const char* IdleTipString = "Връх:"; -const char* IdleSetString = " Set:"; -const char* TipDisconnectedString = "ВРЪХ ЛОША ВРЪЗКА"; -const char* SolderingAdvancedPowerPrompt = "Захранване: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Източник", "захранване" }, - /* SleepTemperature */ { "Темп.", "сън" }, - /* SleepTimeout */ { "Време", "сън" }, - /* ShutdownTimeout */ { "Време", "изкл." }, - /* MotionSensitivity */ { "Усещане", "за движение" }, - /* TemperatureUnit */ { "Единици за", "температура" }, - /* AdvancedIdle */ { "Детайлен", "екран в покой" }, - /* DisplayRotation */ { "Ориентация", "на дисплея" }, - /* BoostEnabled */ { "Турбо режим", "пуснат" }, - /* BoostTemperature */ { "Турбо", "темп." }, - /* AutoStart */ { "Автоматичен", "работен режим" }, - /* CooldownBlink */ { "Мигай при", "топъл поялник" }, - /* TemperatureCalibration */ { "Калибриране", "температура?" }, - /* SettingsReset */ { "Фабрични", "настройки?" }, - /* VoltageCalibration */ { "Калибриране", "напрежение?" }, - /* AdvancedSoldering */ { "Детайлен", "работен екран" }, - /* ScrollingSpeed */ { "Скорост", "на текста" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Поялник\nНастройки", - /* PowerSavingMenu */ "Режими\nНастройки", - /* UIMenu */ "Интерфейс\nНастройки", - /* AdvancedMenu */ "Разширени\nНастройки", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Настройки на поялника", - /* PowerSavingMenu */ "Настройки енергоспестяване", - /* UIMenu */ "Настройки на интерфейса", - /* AdvancedMenu */ "Допълнителни настройки", -}; - -#endif - -#ifdef LANG_CS -// ---- Český ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Při nižším napětí ukončí pájení ", - /* SleepTemperature */ "Teplota v režimu spánku.", - /* SleepTimeout */ "Čas do režimu spánku ", - /* ShutdownTimeout */ "Čas do automatického vypnutí ", - /* MotionSensitivity */ "Citlivost detekce pohybu <0=Vyp, 1=Min, ... 9=Max>", - /* TemperatureUnit */ "Jednotky měření teploty ", - /* AdvancedIdle */ "Zobrazit podrobnosti na výchozí obrazovce?", - /* DisplayRotation */ "Orientace obrazovky ", - /* BoostEnabled */ "Povolit boost držením předního tlačítka při pájení?", - /* BoostTemperature */ "Teplota v režimu boost.", - /* AutoStart */ "Při startu ihned nahřát hrot?", - /* CooldownBlink */ "Blikání teploty při chladnutí, dokud je hrot horký?", - /* TemperatureCalibration */ "Kalibrace měření teploty.", - /* SettingsReset */ "Obnovení továrního nastavení.", - /* VoltageCalibration */ "Kalibrace vstupního napětí. Tlačítky uprav, podržením potvrď.", - /* AdvancedSoldering */ "Zobrazit podrobnosti při pájení?", - /* ScrollingSpeed */ "Rychlost skrolování popisků podobných tomuto ", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Ujistěte se, že hrot má pokojovou teplotu!"; -const char* SettingsResetWarning = "Opravdu chcete resetovat zařízení do továrního nastavení?"; -const char* UVLOWarningString = "DC LOW"; -const char* UndervoltageString = "! Nízké napětí !"; -const char* InputVoltageString = "Napětí: "; -const char* WarningTipTempString = "Teplota: "; -const char* BadTipString = "BAD TIP"; -const char* SleepingSimpleString = "Zzz "; -const char* SleepingAdvancedString = "Režim spánku..."; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "!! HORKÝ HROT !!"; -const char* SleepingTipAdvancedString = "Hrot:"; -const char* IdleTipString = "Hrot:"; -const char* IdleSetString = " Cíl:"; -const char* TipDisconnectedString = "HROT NEPŘIPOJEN"; -const char* SolderingAdvancedPowerPrompt = "Ohřev: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'P'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'R'; -const char SettingSlowChar = 'P'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Zdroj", "napájení" }, - /* SleepTemperature */ { "Teplota v", "r. spánku" }, - /* SleepTimeout */ { "Čas do", "r. spánku" }, - /* ShutdownTimeout */ { "Čas do", "vypnutí" }, - /* MotionSensitivity */ { "Citlivost", "det. pohybu" }, - /* TemperatureUnit */ { "Jednotky", "teploty" }, - /* AdvancedIdle */ { "Podrobnosti", "na vých. obr." }, - /* DisplayRotation */ { "Orientace", "obrazovky" }, - /* BoostEnabled */ { "Povolit", "boost" }, - /* BoostTemperature */ { "Teplota v", "r. boost" }, - /* AutoStart */ { "Auto", "start" }, - /* CooldownBlink */ { "Blikáni při", "chladnutí" }, - /* TemperatureCalibration */ { "Kalibrovat", "teplotu?" }, - /* SettingsReset */ { "Tovární", "nastavení?" }, - /* VoltageCalibration */ { "Kalibrovat", "vstupní napětí?" }, - /* AdvancedSoldering */ { "Podrobnosti", "při pájení" }, - /* ScrollingSpeed */ { "Rychlost", "popisků" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Pájecí\nnastavení", - /* PowerSavingMenu */ "Režim\nspánku", - /* UIMenu */ "Uživatelské\nrozhraní", - /* AdvancedMenu */ "Pokročilé\nvolby", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Nastavení pájení (boost, auto start...)", - /* PowerSavingMenu */ "Nastavení režimu spánku, automatického vypnutí...", - /* UIMenu */ "Nastavení uživatelského rozhraní.", - /* AdvancedMenu */ "Pokročilé volby (detailní obrazovky, kalibrace, tovární nastavení...)", -}; - -#endif - -#ifdef LANG_DA -// ---- Dansk ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Strømforsyning. Indstil Cutoff Spændingen. ", - /* SleepTemperature */ "Ruhetemperatur (In der eingestellten Einheit)", - /* SleepTimeout */ "Ruhemodus nach ", - /* ShutdownTimeout */ "Abschalten nach ", - /* MotionSensitivity */ "Bewegungsempfindlichkeit <0=Aus, 1=Minimal ... 9=Maximal>", - /* TemperatureUnit */ "Temperatureinheit ", - /* AdvancedIdle */ "Detaillierte Anzeige im Ruhemodus ", - /* DisplayRotation */ "Ausrichtung der Anzeige ", - /* BoostEnabled */ "Vordere Taste für Temperaturboost verwenden ", - /* BoostTemperature */ "Temperatur im Boostmodus (In der eingestellten Einheit)", - /* AutoStart */ "Automatischer Start des Lötmodus beim Einschalten der Spannungsversorgung. ", - /* CooldownBlink */ "Blinkende Temperaturanzeige beim Abkühlen, solange heiß. ", - /* TemperatureCalibration */ "Kalibrierung der Lötspitzentemperatur", - /* SettingsReset */ "Alle Einstellungen zurücksetzen", - /* VoltageCalibration */ "Kalibrierung der Eingangsspannung. Kurzer Tastendruck zum Einstellen, langer Tastendruck zum Verlassen.", - /* AdvancedSoldering */ "Detaillierte Anzeige im Lötmodus ", - /* ScrollingSpeed */ "Scrollgeschwindigkeit der Texte", - /* TipModel */ "Auswahl der Lötspitze", - /* SimpleCalibrationMode */ "Einfache Kalibrierung mittels heißem Wasser", - /* AdvancedCalibrationMode */ "Erweiterte Kalibrierung mittels eines Thermoelements an der Lötspitze", - /* PowerInput */ "Leistungsaufnahme der verwendeten Spannungsversorgung", -}; - -const char* SettingsCalibrationDone = "Kalibrierung abgeschlossen!"; -const char* SettingsCalibrationWarning = "Vor dem Fortfahren muss die Lötspitze vollständig abgekühlt sein!"; -const char* SettingsResetWarning = "Sind Sie sicher, dass Sie alle Werte zurücksetzen wollen?"; -const char* UVLOWarningString = "V niedr."; -const char* UndervoltageString = "Unterspannung"; -const char* InputVoltageString = "V Eingang: "; -const char* WarningTipTempString = "Temperatur: "; -const char* BadTipString = "DEFEKT"; -const char* SleepingSimpleString = "Zzz "; -const char* SleepingAdvancedString = "Ruhemodus..."; -const char* WarningSimpleString = "HEIß"; -const char* WarningAdvancedString = "! Achtung Heiß !"; -const char* SleepingTipAdvancedString = "Temp:"; -const char* IdleTipString = "Ist:"; -const char* IdleSetString = " Soll:"; -const char* TipDisconnectedString = "Spitze fehlt"; -const char* SolderingAdvancedPowerPrompt = "Leistung: "; -const char* OffString = "Aus"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Spannungs-", "quelle" }, - /* SleepTemperature */ { "Ruhetemp-", "eratur" }, - /* SleepTimeout */ { "Ruhever-", "zögerung" }, - /* ShutdownTimeout */ { "Abschalt-", "zeit" }, - /* MotionSensitivity */ { "Bewegungs-", "empfindlichk." }, - /* TemperatureUnit */ { "Temperatur-", "einheit" }, - /* AdvancedIdle */ { "Detaillierte", "Ruheansicht" }, - /* DisplayRotation */ { "Anzeige-", "ausrichtung" }, - /* BoostEnabled */ { "Boosttaste", "aktiv?" }, - /* BoostTemperature */ { "Boosttemp-", "eratur" }, - /* AutoStart */ { "Start im", "Lötmodus?" }, - /* CooldownBlink */ { "Abkühl-", "blinken?" }, - /* TemperatureCalibration */ { "Temperatur", "kalibrieren?" }, - /* SettingsReset */ { "Einstellungen", "zurücksetzen?" }, - /* VoltageCalibration */ { "Eingangsspannung", "kalibrieren?" }, - /* AdvancedSoldering */ { "Detaillierte", "Lötansicht" }, - /* ScrollingSpeed */ { "Scroll-", "geschw." }, - /* TipModel */ { "Löt-", "spitze" }, - /* SimpleCalibrationMode */ { "Einfache", "Kalibrierung" }, - /* AdvancedCalibrationMode */ { "Erweiterte", "Kalibrierung" }, - /* PowerInput */ { "Leistungs-", "aufnahme" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Löt-\neinstellungen", - /* PowerSavingMenu */ "Schlaf-\nmodus", - /* UIMenu */ "Menü-\neinstellungen", - /* AdvancedMenu */ "Erweiterte\nEinstellungen", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Löteinstellungen", - /* PowerSavingMenu */ "Energiespareinstellungen", - /* UIMenu */ "Menüeinstellungen", - /* AdvancedMenu */ "Erweiterte Einstellungen", -}; - -#endif - -#ifdef LANG_ES -// ---- Español ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Fuente de energía. Ajusta el límite inferior de voltaje. ", - /* SleepTemperature */ "Temperatura en reposo. ", - /* SleepTimeout */ "Tiempo hasta activar reposo. ", - /* ShutdownTimeout */ "Tiempo hasta apagado. ", - /* MotionSensitivity */ "Sensibilidad del movimiento. <0=Apagado 1=El menos sensible 9=El más sensible>", - /* TemperatureUnit */ "Unidad de temperatura.", - /* AdvancedIdle */ "Muestra información detallada pequena en la pantalla inactiva.", - /* DisplayRotation */ "Orientación de la pantalla ", - /* BoostEnabled */ "Activar el botón \"Boost\" en modo soldadura.", - /* BoostTemperature */ "Temperatura en modo \"Boost\". ", - /* AutoStart */ "Iniciar modo soldadura en el encendido. ", - /* CooldownBlink */ "Parpadea la temperatura en el enfriamiento si la punta sigue caliente.", - /* TemperatureCalibration */ "Calibrar desviación térmica de la punta.", - /* SettingsReset */ "Volver a estado de fábrica.", - /* VoltageCalibration */ "Calibración VIN (Voltaje de entrada). Ajuste con ambos botones, pulsación larga para salir.", - /* AdvancedSoldering */ "Mostrar información detallada mientras suelda.", - /* ScrollingSpeed */ "Velocidad de desplazamiento del texto.", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "¡Asegúrese que la punta esté a temperatura ambiente antes de proceder!"; -const char* SettingsResetWarning = "¿Está seguro de volver a estado de fábrica?"; -const char* UVLOWarningString = "DC BAJO"; -const char* UndervoltageString = "Subtensión"; -const char* InputVoltageString = "V entrada: "; -const char* WarningTipTempString = "Temp Punta: "; -const char* BadTipString = "ER PUNTA"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "En reposo..."; -const char* WarningSimpleString = "TEMP"; -const char* WarningAdvancedString = "¡PUNTA CALIENTE!"; -const char* SleepingTipAdvancedString = "Punta:"; -const char* IdleTipString = "Punta:"; -const char* IdleSetString = " Aj:"; -const char* TipDisconnectedString = "SIN PUNTA"; -const char* SolderingAdvancedPowerPrompt = "POTENCIA: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'I'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'R'; -const char SettingSlowChar = 'L'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Fuente", "de energía" }, - /* SleepTemperature */ { "Temp en", "reposo" }, - /* SleepTimeout */ { "Tiempo h.", "reposo" }, - /* ShutdownTimeout */ { "Tiempo h.", "apagado" }, - /* MotionSensitivity */ { "Sensibilidad", "al movimiento" }, - /* TemperatureUnit */ { "Unidad de", "temperatura" }, - /* AdvancedIdle */ { "Más info en", "modo inactivo" }, - /* DisplayRotation */ { "Orientación", "de pantalla" }, - /* BoostEnabled */ { "Boost botón", "activado" }, - /* BoostTemperature */ { "Temp en", "Boost" }, - /* AutoStart */ { "Soldadura", "al enchufar" }, - /* CooldownBlink */ { "Parpadea m.", "enfriamiento" }, - /* TemperatureCalibration */ { "Calibrar temp", "de la punta" }, - /* SettingsReset */ { "Estado de", "fábrica" }, - /* VoltageCalibration */ { "Calibrar", "V entrada" }, - /* AdvancedSoldering */ { "Inf detallada", "del soldadura" }, - /* ScrollingSpeed */ { "Velocidad", "del texto" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Opciones de\nSoldadura", - /* PowerSavingMenu */ "Modos de\nReposo", - /* UIMenu */ "Interfaz\nde Usuario", - /* AdvancedMenu */ "Opciones\nAvanzadas", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Opciones de Soldadura", - /* PowerSavingMenu */ "Opciones de ahorro energético", - /* UIMenu */ "Opciones de interfaz de usuario", - /* AdvancedMenu */ "Opciones avanzadas", -}; - -#endif - -#ifdef LANG_FI -// ---- Suomi ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Käytettävä virtalähde. Asettaa katkaisujänniteen. ", - /* SleepTemperature */ "Lepotilan lämpötila. ", - /* SleepTimeout */ "Lepotilan viive. ", - /* ShutdownTimeout */ "Automaattisen sammutuksen aikaviive. ", - /* MotionSensitivity */ "Liikkeentunnistuksen herkkyys. <0=pois, 1=epäherkin, 9=herkin>", - /* TemperatureUnit */ "Lämpötilan yksikkö. ", - /* AdvancedIdle */ "Näyttää yksityiskohtaisemmat tiedot lepotilassa.", - /* DisplayRotation */ "Näytön kierto. ", - /* BoostEnabled */ "Etupainikeella siirrytään juotettaessa tehostustilaan.", - /* BoostTemperature */ "Tehostustilan lämpötila", - /* AutoStart */ "Käynnistää virrat kytkettäessä juotostilan automaattisesti. T=juotostila, S=Lepotila, F=Ei käytössä", - /* CooldownBlink */ "Vilkuttaa jäähtyessä juotoskärjen lämpötilaa sen ollessa vielä vaarallisen kuuma.", - /* TemperatureCalibration */ "Kalibroi kärjen lämpötilaeron.", - /* SettingsReset */ "Palauta kaikki asetukset oletusarvoihin.", - /* VoltageCalibration */ "Tulojännitten kalibrointi (VIN). Painikkeilla säädetään ja pitkään painamalla poistutaan.", - /* AdvancedSoldering */ "Näyttää yksityiskohtaisemmat tiedot juotostilassa.", - /* ScrollingSpeed */ "Näiden selitetekstien vieritysnopeus.", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Varmista että kärki on huoneenlämpöinen ennen jatkamista!"; -const char* SettingsResetWarning = "Haluatko varmasti palauttaa oletusarvot?"; -const char* UVLOWarningString = "DC LOW"; -const char* UndervoltageString = "Alijännite"; -const char* InputVoltageString = "Jännite: "; -const char* WarningTipTempString = "Lämpötila: "; -const char* BadTipString = "VIKATILA"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Lepotila..."; -const char* WarningSimpleString = "HOT"; -const char* WarningAdvancedString = "! KÄRKI KUUMA !"; -const char* SleepingTipAdvancedString = "Kärki:"; -const char* IdleTipString = "Kärki:"; -const char* IdleSetString = " Asetus:"; -const char* TipDisconnectedString = "KÄRKI ON IRTI"; -const char* SolderingAdvancedPowerPrompt = "Teho: "; -const char* OffString = "OFF"; - -const char SettingRightChar = 'O'; -const char SettingLeftChar = 'V'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'N'; -const char SettingSlowChar = 'H'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Virtalähde", "DC" }, - /* SleepTemperature */ { "Lepotilan", "lämpötila" }, - /* SleepTimeout */ { "Lepotilan", "viive" }, - /* ShutdownTimeout */ { "Sammutus", "viive" }, - /* MotionSensitivity */ { "Liikkeen", "herkkyys" }, - /* TemperatureUnit */ { "Lämpötilan", "yksikkö" }, - /* AdvancedIdle */ { "Tiedot", "lepotilassa" }, - /* DisplayRotation */ { "Näytön", "kierto" }, - /* BoostEnabled */ { "Tehostus", "käytössä" }, - /* BoostTemperature */ { "Tehostus-", "lämpötila" }, - /* AutoStart */ { "Autom.", "käynnistys" }, - /* CooldownBlink */ { "Jäähdytyksen", "vilkutus" }, - /* TemperatureCalibration */ { "Kalibroi", "lämpötila?" }, - /* SettingsReset */ { "Palauta", "tehdasasetukset?" }, - /* VoltageCalibration */ { "Kalibroi", "tulojännite?" }, - /* AdvancedSoldering */ { "Tarkempi", "juotosnäyttö" }, - /* ScrollingSpeed */ { "Tietojen", "näyttönopeus" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Juotos-\nasetukset", - /* PowerSavingMenu */ "Lepotilan\nasetukset", - /* UIMenu */ "Käyttö-\nliittymä", - /* AdvancedMenu */ "Lisä-\nasetukset", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Juotosasetukset", - /* PowerSavingMenu */ "Virransäästöasetukset", - /* UIMenu */ "Käyttöliittymän asetukset", - /* AdvancedMenu */ "Lisäasetukset", -}; - -#endif - -#ifdef LANG_FR -// ---- Français ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Source d'alimentation. Règle la tension de coupure ", - /* SleepTemperature */ "Température en veille ", - /* SleepTimeout */ "Délai avant mise en veille ", - /* ShutdownTimeout */ "Délai avant extinction ", - /* MotionSensitivity */ "Sensibilité du capteur de mouvement <0=Inactif 1=Peu sensible 9=Tres sensible>", - /* TemperatureUnit */ "Unité de température ", - /* AdvancedIdle */ "Afficher des informations détaillées lors de la veille.", - /* DisplayRotation */ "Orientation de l'affichage ", - /* BoostEnabled */ "Activer le mode \"Boost\" en maintenant le bouton de devant pendant la soudure", - /* BoostTemperature */ "Température du mode \"Boost\"", - /* AutoStart */ "Démarrer automatiquement la soudure a l'allumage ", - /* CooldownBlink */ "Faire clignoter la température lors du refroidissement tant que la panne est chaude.", - /* TemperatureCalibration */ "Étalonner température de la panne.", - /* SettingsReset */ "Réinitialiser tous les réglages", - /* VoltageCalibration */ "Étalonner tension d'entrée. Boutons pour ajuster, appui long pour quitter", - /* AdvancedSoldering */ "Afficher des informations détaillées pendant la soudure", - /* ScrollingSpeed */ "Vitesse de défilement de ce texte en ", - /* TipModel */ "Sélection du modèle de la panne", - /* SimpleCalibrationMode */ "Calibration simple à l'aide d'eau chaude", - /* AdvancedCalibrationMode */ "Calibration avancées à l'aide d'un thermocouple sur la panne", - /* PowerInput */ "Puissance de l'alimentation utilisée", -}; - -const char* SettingsCalibrationDone = "Calibration effectuée!"; -const char* SettingsCalibrationWarning = "Assurez-vous que la panne soit à température ambiante avant de continuer!"; -const char* SettingsResetWarning = "Voulez-vous vraiment réinitialiser les paramètres aux valeurs d'usine?"; -const char* UVLOWarningString = "DC FAIBL"; -const char* UndervoltageString = "Sous-tension"; -const char* InputVoltageString = "V d'entrée:"; -const char* WarningTipTempString = "Temp. Panne:"; -const char* BadTipString = "PANNE HS"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "En veille..."; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "ATTENTION! CHAUD"; -const char* SleepingTipAdvancedString = "Panne:"; -const char* IdleTipString = "Tip:"; -const char* IdleSetString = " Set:"; -const char* TipDisconnectedString = "PANNE DÉBRANCHÉE"; -const char* SolderingAdvancedPowerPrompt = "Puissance: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'G'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'R'; -const char SettingSlowChar = 'L'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Source", "d'alim" }, - /* SleepTemperature */ { "Temp.", "veille" }, - /* SleepTimeout */ { "Délai", "veille" }, - /* ShutdownTimeout */ { "Délai", "extinction" }, - /* MotionSensitivity */ { "Sensibilité", "au mouvement" }, - /* TemperatureUnit */ { "Unité de", "température" }, - /* AdvancedIdle */ { "Écran veille", "détaillé" }, - /* DisplayRotation */ { "Orientation", "de l'écran" }, - /* BoostEnabled */ { "Activation du", "mode Boost" }, - /* BoostTemperature */ { "Temp.", "Boost" }, - /* AutoStart */ { "Démarrage", "automatique" }, - /* CooldownBlink */ { "Refroidir en", "clignotant" }, - /* TemperatureCalibration */ { "Étalonner", "température" }, - /* SettingsReset */ { "Réinitialisation", "d'usine" }, - /* VoltageCalibration */ { "Étalonner", "tension d'entrée" }, - /* AdvancedSoldering */ { "Écran soudure", "détaillé" }, - /* ScrollingSpeed */ { "Vitesse de", "défilement" }, - /* TipModel */ { "Panne", "Modèle" }, - /* SimpleCalibrationMode */ { "Calibration", "simple" }, - /* AdvancedCalibrationMode */ { "Calibration", "avancées" }, - /* PowerInput */ { "Puissance de", "l'alimentation" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Paramètres\nde soudure", - /* PowerSavingMenu */ "Mode\nveille", - /* UIMenu */ "Interface\nutilisateur", - /* AdvancedMenu */ "Options\navancées", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Paramètres de soudure", - /* PowerSavingMenu */ "Paramètres d'économie d'énergie", - /* UIMenu */ "Paramètres de l'interface utilisateur", - /* AdvancedMenu */ "Options avancées", -}; - -#endif - -#ifdef LANG_HR -// ---- Hrvatski ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Izvor napajanja. Postavlja napon isključivanja. ", - /* SleepTemperature */ "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. ", - /* SleepTimeout */ "Vrijeme mirovanja nakon kojega lemilica spušta temperaturu. ", - /* ShutdownTimeout */ "Vrijeme mirovanja nakon kojega će se lemilica ugasiti. ", - /* MotionSensitivity */ "Osjetljivost prepoznavanja pokreta. <0=Ugašeno, 1=Najmanje osjetljivo, 9=Najosjetljivije>", - /* TemperatureUnit */ "Jedinica temperature. ", - /* AdvancedIdle */ "Prikazivanje detaljnih informacija tijekom čekanja.", - /* DisplayRotation */ "Orijentacija ekrana. ", - /* BoostEnabled */ "Držanjem prednjeg gumba prilikom lemljenja aktivira se pojačani (Boost) način.", - /* BoostTemperature */ "Temperatura u pojačanom (Boost) načinu.", - /* AutoStart */ "Ako je aktivno, lemilica po uključivanju napajanja odmah počinje grijati.", - /* CooldownBlink */ "Bljeskanje temperature prilikom hlađenja, ako je lemilica vruća.", - /* TemperatureCalibration */ "Kalibriranje temperature mjeri razliku temperatura vrška i drške, dok je lemilica hladna.", - /* SettingsReset */ "Vraćanje svih postavki na tvorničke vrijednosti.", - /* VoltageCalibration */ "Kalibracija ulaznog napona. Podešavanje gumbima, dugački pritisak za kraj.", - /* AdvancedSoldering */ "Prikazivanje detaljnih informacija tijekom lemljenja.", - /* ScrollingSpeed */ "Brzina kretanja dugačkih poruka. ", - /* TipModel */ "Odabir modela lemnog vrha", - /* SimpleCalibrationMode */ "Kalibracija kipućom vodom", - /* AdvancedCalibrationMode */ "Kalibracija korištenjem termo-elementa", - /* PowerInput */ "Snaga modula za napajanje", -}; - -const char* SettingsCalibrationDone = "Kalibracija gotova!"; -const char* SettingsCalibrationWarning = "Provjerite da je vršak ohlađen na sobnu temperaturu prije nego što nastavite!"; -const char* SettingsResetWarning = "Jeste li sigurni da želite sve postavke vratiti na tvorničke vrijednosti?"; -const char* UVLOWarningString = "BATERIJA"; -const char* UndervoltageString = "PRENIZAK NAPON"; -const char* InputVoltageString = "Napajanje: "; -const char* WarningTipTempString = "Temp vrha: "; -const char* BadTipString = "LOŠ VRH"; -const char* SleepingSimpleString = "Zzz "; -const char* SleepingAdvancedString = "SPAVANJE..."; -const char* WarningSimpleString = "VRUĆ"; -const char* WarningAdvancedString = "OPREZ, VRUĆE!"; -const char* SleepingTipAdvancedString = "Vrh: "; -const char* IdleTipString = "Vrh: "; -const char* IdleSetString = " / "; -const char* TipDisconnectedString = "VRH NIJE SPOJEN!"; -const char* SolderingAdvancedPowerPrompt = "Snaga: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'B'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Izvor", "napajanja" }, - /* SleepTemperature */ { "Temp", "spavanja" }, - /* SleepTimeout */ { "Vrijeme", "spavanja" }, - /* ShutdownTimeout */ { "Vrijeme", "gašenja" }, - /* MotionSensitivity */ { "Osjetljivost", "pokreta" }, - /* TemperatureUnit */ { "Jedinica", "temperature" }, - /* AdvancedIdle */ { "Detalji", "pri čekanju" }, - /* DisplayRotation */ { "Rotacija", "ekrana" }, - /* BoostEnabled */ { "Boost", "način" }, - /* BoostTemperature */ { "Boost", "temp" }, - /* AutoStart */ { "Auto", "start" }, - /* CooldownBlink */ { "Upozorenje", "pri hlađenju" }, - /* TemperatureCalibration */ { "Kalibracija", "temperature" }, - /* SettingsReset */ { "Tvorničke", "postavke" }, - /* VoltageCalibration */ { "Kalibracija", "napona napajanja" }, - /* AdvancedSoldering */ { "Detalji", "pri lemljenju" }, - /* ScrollingSpeed */ { "Brzina", "poruka" }, - /* TipModel */ { "Model", "Vrha" }, - /* SimpleCalibrationMode */ { "Jednostavna", "kalibracija" }, - /* AdvancedCalibrationMode */ { "Napredna", "kalibracija" }, - /* PowerInput */ { "Snaga", "napajanja" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Postavke\nlemljenja", - /* PowerSavingMenu */ "Ušteda\nenergije", - /* UIMenu */ "Korisničko\nsučelje", - /* AdvancedMenu */ "Napredne\nopcije", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Postavke pri lemljenju", - /* PowerSavingMenu */ "Postavke spavanja i štednje energije", - /* UIMenu */ "Postavke korisničkog sučelja", - /* AdvancedMenu */ "Upravljanje naprednim opcijama", -}; - -#endif - -#ifdef LANG_HU -// ---- Magyar ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Áramforrás. Beállítja a lekapcsolási feszültséget. ", - /* SleepTemperature */ "Alvási hőmérséklet ", - /* SleepTimeout */ "Alvás időzítő ", - /* ShutdownTimeout */ "Kikapcsolási időzítő ", - /* MotionSensitivity */ "Mozgás érzékenység beállítása. <0.kikapcsolva 1.legkevésbé érzékeny 9.legérzékenyebb>", - /* TemperatureUnit */ "Hőmérséklet mértékegysége ", - /* AdvancedIdle */ "Részletes információ megjelenítése kisebb betűméretben a készenléti képernyőn.", - /* DisplayRotation */ "Kijelző tájolása ", - /* BoostEnabled */ "Elülső gombbal boost módba (450C) lép forrasztás közben", - /* BoostTemperature */ "Hőmérséklet \"boost\" módban", - /* AutoStart */ "Bekapcsolás után automatikusan lépjen forrasztás módba. T=forrasztás, S=alvó mód, F=ki", - /* CooldownBlink */ "Villogjon a hőmérséklet hűlés közben, amíg a hegy forró.", - /* TemperatureCalibration */ "Hegy hőmérséklet-különbségének kalibrálása.", - /* SettingsReset */ "Beállítások alaphelyzetbe állítása", - /* VoltageCalibration */ "Bemeneti feszültség kalibrálása. Röviden megnyomva módosítás, hosszan megnyomva kilépés", - /* AdvancedSoldering */ "Részletes információk megjelenítése forrasztás közben", - /* ScrollingSpeed */ "Szöveggörgetés sebessége", - /* TipModel */ "Forrasztóhegy modell kiválasztása", - /* SimpleCalibrationMode */ "Egyszerű kalibrálás forró víz segítségével", - /* AdvancedCalibrationMode */ "Haladó kalibrálás hegyre helyezett hőelem segítségével", - /* PowerInput */ "A tápegység által leadott teljesítmény", -}; - -const char* SettingsCalibrationDone = "Kalibráció befejezve!"; -const char* SettingsCalibrationWarning = "Folytatás előtt győződjön meg róla, hogy a hegy szobahőmérsékletű!"; -const char* SettingsResetWarning = "Biztosan visszaállítja a beállításokat az alapértelmezett értékekre?"; -const char* UVLOWarningString = "DC KEVÉS"; -const char* UndervoltageString = "Alulfeszültség"; -const char* InputVoltageString = "Bemenet V: "; -const char* WarningTipTempString = "Hegy hő: "; -const char* BadTipString = "HEGY HIB"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Alvás..."; -const char* WarningSimpleString = "FORR"; -const char* WarningAdvancedString = "!! FORRÓ HEGY !!"; -const char* SleepingTipAdvancedString = "Hegy:"; -const char* IdleTipString = "Hegy:"; -const char* IdleSetString = " Cél:"; -const char* TipDisconnectedString = "HEGY LEVÉVE"; -const char* SolderingAdvancedPowerPrompt = "Telj: "; -const char* OffString = "Ki"; - -const char SettingRightChar = 'J'; -const char SettingLeftChar = 'B'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'G'; -const char SettingSlowChar = 'L'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "ÁRAMF" }, - /* SleepTemperature */ { "AHŐM" }, - /* SleepTimeout */ { "AIDŐ" }, - /* ShutdownTimeout */ { "KIIDŐ" }, - /* MotionSensitivity */ { "MOZGÉR" }, - /* TemperatureUnit */ { "HŐEGYS" }, - /* AdvancedIdle */ { "RÉSZLI" }, - /* DisplayRotation */ { "KIJTÁJ" }, - /* BoostEnabled */ { "BOOST" }, - /* BoostTemperature */ { "BHŐ" }, - /* AutoStart */ { "ASTART" }, - /* CooldownBlink */ { "HŰLÉSV" }, - /* TemperatureCalibration */ { "HŐM KAL?" }, - /* SettingsReset */ { "RESET?" }, - /* VoltageCalibration */ { "VIN KAL?" }, - /* AdvancedSoldering */ { "HALKÉP" }, - /* ScrollingSpeed */ { "GÖRGS" }, - /* TipModel */ { "HEGYMOD" }, - /* SimpleCalibrationMode */ { "EGYSZKAL" }, - /* AdvancedCalibrationMode */ { "HALKAL" }, - /* PowerInput */ { "TELJW" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Forrasztási\nbeállítások", - /* PowerSavingMenu */ "Alvási\nmódok", - /* UIMenu */ "Felhasználó\nfelület", - /* AdvancedMenu */ "Haladó\nbeállítások", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Forrasztási beállítások", - /* PowerSavingMenu */ "Energiatakarékossági beállítások", - /* UIMenu */ "Felhasználói felület beállításai", - /* AdvancedMenu */ "Haladó beállítások", -}; - -#endif - -#ifdef LANG_IT -// ---- Italiano ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Scegli la sorgente di alimentazione; se a batteria, limita lo scaricamento al valore di soglia ", - /* SleepTemperature */ "Imposta la temperatura da mantenere in modalità Standby <°C/°F>", - /* SleepTimeout */ "Imposta il timer per entrare in modalità Standby ", - /* ShutdownTimeout */ "Imposta il timer per lo spegnimento ", - /* MotionSensitivity */ "Imposta la sensibilità al movimento per uscire dalla modalità Standby <0: nessuna; 1: minima; 9: massima>", - /* TemperatureUnit */ "Scegli l'unità di misura per la temperatura ", - /* AdvancedIdle */ "Mostra informazioni dettagliate con un carattere più piccolo all'interno della schermata principale", - /* DisplayRotation */ "Imposta l'orientamento del display ", - /* BoostEnabled */ "Il tasto superiore attiva la funzione «Turbo» durante la modalità Saldatura", - /* BoostTemperature */ "Imposta la temperatura della funzione «Turbo»", - /* AutoStart */ "Attiva automaticamente il saldatore quando viene alimentato ", - /* CooldownBlink */ "Mostra, lampeggiante, la temperatura durante il raffreddamento se la punta è ancora calda", - /* TemperatureCalibration */ "Calibra le rilevazioni di temperatura", - /* SettingsReset */ "Ripristina tutte le impostazioni", - /* VoltageCalibration */ "Calibra la tensione in ingresso; regola con entrambi i tasti, tieni premuto il tasto superiore per uscire", - /* AdvancedSoldering */ "Mostra informazioni dettagliate durante la modalità Saldatura", - /* ScrollingSpeed */ "Imposta la velocità di scorrimento del testo ", - /* TipModel */ "Seleziona il modello della punta in uso", - /* SimpleCalibrationMode */ "Calibra le rilevazioni di temperatura tramite l'utilizzo di acqua calda", - /* AdvancedCalibrationMode */ "Calibra le rilevazioni di temperatura attraverso la termocoppia presente nella punta", - /* PowerInput */ "Imposta la potenza dell'alimentatore in uso", -}; - -const char* SettingsCalibrationDone = "Calibrazione effettuata"; -const char* SettingsCalibrationWarning = "Assicurati che la punta si trovi a temperatura ambiente prima di continuare!"; -const char* SettingsResetWarning = "Ripristinare le impostazioni iniziali?"; -const char* UVLOWarningString = "DC BASSA"; -const char* UndervoltageString = "DC INSUFFICIENTE"; -const char* InputVoltageString = "V ingresso:"; -const char* WarningTipTempString = "Temp punta:"; -const char* BadTipString = "PUNTA NO"; -const char* SleepingSimpleString = "Zzz "; -const char* SleepingAdvancedString = "Standby"; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "PUNTA CALDA!"; -const char* SleepingTipAdvancedString = "Punta:"; -const char* IdleTipString = "Punta:"; -const char* IdleSetString = "/"; -const char* TipDisconnectedString = "PUNTA ASSENTE"; -const char* SolderingAdvancedPowerPrompt = "Potenza:"; -const char* OffString = "OFF"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'S'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'V'; -const char SettingSlowChar = 'L'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Sorgente", "alimentaz" }, - /* SleepTemperature */ { "Temp", "standby" }, - /* SleepTimeout */ { "Timer", "standby" }, - /* ShutdownTimeout */ { "Timer", "spegnimento" }, - /* MotionSensitivity */ { "Sensibilità", "al movimento" }, - /* TemperatureUnit */ { "Unità di", "temperatura" }, - /* AdvancedIdle */ { "Mostra", "dettagli" }, - /* DisplayRotation */ { "Orientamento", "display" }, - /* BoostEnabled */ { "Funzione", "«Turbo»" }, - /* BoostTemperature */ { "Temp", "«Turbo»" }, - /* AutoStart */ { "Avvio", "automatico" }, - /* CooldownBlink */ { "Avviso", "punta calda" }, - /* TemperatureCalibration */ { "Calibrazione", "temperatura" }, - /* SettingsReset */ { "Ripristino", "impostazioni" }, - /* VoltageCalibration */ { "Calibrazione", "tensione" }, - /* AdvancedSoldering */ { "Dettagli", "saldatura" }, - /* ScrollingSpeed */ { "Velocità", "testo" }, - /* TipModel */ { "Modello", "della punta" }, - /* SimpleCalibrationMode */ { "Calibrazione", "semplice" }, - /* AdvancedCalibrationMode */ { "Calibrazione", "avanzata" }, - /* PowerInput */ { "Potenza", "alimentaz" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Opzioni\nsaldatura", - /* PowerSavingMenu */ "Risparmio\nenergetico", - /* UIMenu */ "Interfaccia\nutente", - /* AdvancedMenu */ "Opzioni\navanzate", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Menù d'impostazioni della modalità Saldatura", - /* PowerSavingMenu */ "Menù d'impostazioni per il risparmio energetico", - /* UIMenu */ "Menù d'impostazioni dell'interfaccia utente", - /* AdvancedMenu */ "Menù d'impostazioni avanzate", -}; - -#endif - -#ifdef LANG_LT -// ---- Lietuvių ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Išjungimo įtampa. ", - /* SleepTemperature */ "Miego temperatūra ", - /* SleepTimeout */ "Miego laikas ", - /* ShutdownTimeout */ "Išjungimo laikas ", - /* MotionSensitivity */ "Jautrumas judesiui <0 - išjungta, 1 - mažiausias, 9 - didžiausias>", - /* TemperatureUnit */ "Temperatūros vienetai ", - /* AdvancedIdle */ "Ar rodyti papildomą informaciją mažesniu šriftu laukimo ekrane", - /* DisplayRotation */ "Ekrano orientacija ", - /* BoostEnabled */ "Ar lituojant viršutinis mygtukas įjungia turbo režimą", - /* BoostTemperature */ "Temperatūra turbo režimu", - /* AutoStart */ "Ar pradėti kaitininti iš karto įjungus lituoklį", - /* CooldownBlink */ "Ar mirksėti temperatūrą ekrane kol vėstantis antgalis vis dar karštas", - /* TemperatureCalibration */ "Antgalio temperatūros kalibravimas", - /* SettingsReset */ "Nustatyti nustatymus iš naujo", - /* VoltageCalibration */ "Įvesties įtampos kalibravimas. Trumpai paspauskite, norėdami nustatyti, ilgai paspauskite, kad išeitumėte", - /* AdvancedSoldering */ "Ar rodyti išsamią informaciją lituojant", - /* ScrollingSpeed */ "Greitis, kuriuo šis tekstas slenka", - /* TipModel */ "Antgalio modelio pasirinkimas", - /* SimpleCalibrationMode */ "Paprasta kalibracija naudojant karštą vandienį", - /* AdvancedCalibrationMode */ "Išplėstinė kalibracija naudojant termoelementą", - /* PowerInput */ "Maitinimo bloko galia vatais", -}; - -const char* SettingsCalibrationDone = "Kalibracija atlikta!"; -const char* SettingsCalibrationWarning = "Prieš tęsdami įsitikinkite, kad antgalis yra kambario temperatūros!"; -const char* SettingsResetWarning = "Ar norite atstatyti nustatymus į numatytas reikšmes?"; -const char* UVLOWarningString = "MAŽ VOLT"; -const char* UndervoltageString = "Žema įtampa"; -const char* InputVoltageString = "Įvestis V: "; -const char* WarningTipTempString = "Antgl Temp: "; -const char* BadTipString = "BLOG ANT"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Miegu..."; -const char* WarningSimpleString = "KRŠ!"; -const char* WarningAdvancedString = "ANTGALIS KARŠTAS"; -const char* SleepingTipAdvancedString = "Antgl:"; -const char* IdleTipString = "Ant:"; -const char* IdleSetString = " Nust:"; -const char* TipDisconnectedString = "ANTGAL ATJUNGTAS"; -const char* SolderingAdvancedPowerPrompt = "Maitinimas: "; -const char* OffString = "Išj"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'K'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'T'; -const char SettingSlowChar = 'N'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Maitinimo", "šaltinis" }, - /* SleepTemperature */ { "Miego", "temperat." }, - /* SleepTimeout */ { "Miego", "laikas" }, - /* ShutdownTimeout */ { "Išjungimo", "laikas" }, - /* MotionSensitivity */ { "Jautrumas", "judesiui" }, - /* TemperatureUnit */ { "Temperatūros", "vienetai" }, - /* AdvancedIdle */ { "Detalus lauki", "mo ekranas" }, - /* DisplayRotation */ { "Ekrano", "orientacija" }, - /* BoostEnabled */ { "Turbo režimas", "įjungtas" }, - /* BoostTemperature */ { "Turbo", "temperat." }, - /* AutoStart */ { "Auto", "paleidimas" }, - /* CooldownBlink */ { "Atvėsimo", "mirksėjimas" }, - /* TemperatureCalibration */ { "Kalibruoti", "temperatūrą?" }, - /* SettingsReset */ { "Atstatyti", "nustatymus?" }, - /* VoltageCalibration */ { "Kalibruoti", "įvesties įtampą?" }, - /* AdvancedSoldering */ { "Detalus lita-", "vimo ekranas" }, - /* ScrollingSpeed */ { "Greitas apr", "ašym. slink" }, - /* TipModel */ { "Antgalio", "modelis" }, - /* SimpleCalibrationMode */ { "Paprasta", "kalibracija" }, - /* AdvancedCalibrationMode */ { "Išplėstinė", "kalibracija" }, - /* PowerInput */ { "Galia", "vatais" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Litavimo\nnustatymai", - /* PowerSavingMenu */ "Miego\nrežimai", - /* UIMenu */ "Naudotojo\nsąsaja", - /* AdvancedMenu */ "Išplėstin.\nnustatymai", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Litavimo nustatymai", - /* PowerSavingMenu */ "Energijos vartojimo nustatymai", - /* UIMenu */ "Naudotojo sąsajos nustatymai", - /* AdvancedMenu */ "Išplėstiniai nustatymai", -}; - -#endif - -#ifdef LANG_NL -// ---- Nederlands ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Spanningsbron. Stelt drempelspanning in. ", - /* SleepTemperature */ "Temperatuur in slaapstand ", - /* SleepTimeout */ "Slaapstand time-out ", - /* ShutdownTimeout */ "Automatisch afsluiten time-out ", - /* MotionSensitivity */ "Bewegingsgevoeligheid <0.uit 1.minst gevoelig 9.meest gevoelig>", - /* TemperatureUnit */ "Temperatuureenheid ", - /* AdvancedIdle */ "Gedetailleerde informatie weergeven in een kleiner lettertype op het slaapscherm.", - /* DisplayRotation */ "Schermoriëntatie ", - /* BoostEnabled */ "Soldeerbout gaat naar een hogere boost-temperatuur wanneer de voorste knop ingedrukt is.", - /* BoostTemperature */ "Temperatuur in boostmodes", - /* AutoStart */ "Breng de soldeerbout direct op temperatuur bij het opstarten. T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit", - /* CooldownBlink */ "Temperatuur laten flikkeren in het hoofdmenu als de soldeerpunt aan het afkoelen is.", - /* TemperatureCalibration */ "Temperatuursafwijking van de soldeerpunt calibreren.", - /* SettingsReset */ "Alle instellingen terugzetten.", - /* VoltageCalibration */ "VIN Calibreren. Knoppen lang ingedrukt houden om te bevestigen.", - /* AdvancedSoldering */ "Gedetailleerde informatie weergeven in een kleiner lettertype op het soldeerscherm.", - /* ScrollingSpeed */ "Snelheid waarmee de tekst scrolt.", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Zorg ervoor dat de soldeerpunt op kamertemperatuur is voor je verdergaat!"; -const char* SettingsResetWarning = "Ben je zeker dat je alle instellingen naar de standaardwaardes wilt terugzetten?"; -const char* UVLOWarningString = "DC LAAG"; -const char* UndervoltageString = "Onderspanning"; -const char* InputVoltageString = "Input V: "; -const char* WarningTipTempString = "Tip Temp: "; -const char* BadTipString = "DEFECT"; -const char* SleepingSimpleString = "Zzz "; -const char* SleepingAdvancedString = "Slaapstand..."; -const char* WarningSimpleString = "HEET"; -const char* WarningAdvancedString = "!!! TIP HEET !!!"; -const char* SleepingTipAdvancedString = "Tip:"; -const char* IdleTipString = "Tip:"; -const char* IdleSetString = " Set:"; -const char* TipDisconnectedString = "TIP LOSGEKOPPELD"; -const char* SolderingAdvancedPowerPrompt = "vermogen: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Spannings-", "bron" }, - /* SleepTemperature */ { "Slaap", "temp" }, - /* SleepTimeout */ { "Slaap", "time-out" }, - /* ShutdownTimeout */ { "Uitschakel", "time-out" }, - /* MotionSensitivity */ { "Bewegings-", "gevoeligheid" }, - /* TemperatureUnit */ { "Temperatuur", "eenheid" }, - /* AdvancedIdle */ { "Gedetailleerd", "slaapscherm" }, - /* DisplayRotation */ { "Scherm-", "oriëntatie" }, - /* BoostEnabled */ { "Boostmodes", "ingeschakeld?" }, - /* BoostTemperature */ { "Boost", "temp" }, - /* AutoStart */ { "Auto", "start" }, - /* CooldownBlink */ { "Afkoel", "flikker" }, - /* TemperatureCalibration */ { "Calibreer", "temperatuur?" }, - /* SettingsReset */ { "Instellingen", "resetten?" }, - /* VoltageCalibration */ { "Calibreer", "input-voltage?" }, - /* AdvancedSoldering */ { "Gedetailleerd", "soldeerscherm" }, - /* ScrollingSpeed */ { "Scroll", "snelheid" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Soldeer\nInstellingen", - /* PowerSavingMenu */ "Slaap\nModes", - /* UIMenu */ "Gebruikers-\nInterface", - /* AdvancedMenu */ "geavanceerde\nInstellingen", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Soldeerinstellingen", - /* PowerSavingMenu */ "Batterijbesparingsinstellingen", - /* UIMenu */ "Gebruikersinterface Instellingen", - /* AdvancedMenu */ "geavanceerde Instellingen", -}; - -#endif - -#ifdef LANG_NL_BE -// ---- Vlaams ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Spanningsbron. Stelt minimumspanning in. ", - /* SleepTemperature */ "Temperatuur in slaapstand <°C>", - /* SleepTimeout */ "Slaapstand time-out ", - /* ShutdownTimeout */ "Automatisch afsluiten time-out ", - /* MotionSensitivity */ "Bewegingsgevoeligheid <0.uit 1.minst gevoelig 9.meest gevoelig>", - /* TemperatureUnit */ "Temperatuurschaal <°C=Celsius °F=Fahrenheit>", - /* AdvancedIdle */ "Gedetailleerde informatie in een kleiner lettertype in het slaapscherm.", - /* DisplayRotation */ "Schermoriëntatie ", - /* BoostEnabled */ "Temperatuur verhoogt als voorste knop is ingedrukt", - /* BoostTemperature */ "Verhogingstemperatuur", - /* AutoStart */ "Breng de soldeerbout op temperatuur bij het opstarten. T=Soldeertemperatuur, S=Slaapstand-temperatuur, F=Uit", - /* CooldownBlink */ "Temperatuur knippert in hoofdmenu tijdens afkoeling.", - /* TemperatureCalibration */ "Temperatuur van de punt calibreren.", - /* SettingsReset */ "Alle instellingen resetten.", - /* VoltageCalibration */ "VIN Calibreren. Bevestigen door knoppen lang in te drukken.", - /* AdvancedSoldering */ "Gedetailleerde informatie in kleiner lettertype in soldeerscherm.", - /* ScrollingSpeed */ "Scrolsnelheid van de tekst.", - /* TipModel */ "Gekozen punt", - /* SimpleCalibrationMode */ "Calibrering met heet water", - /* AdvancedCalibrationMode */ "Calibrering met thermokoppel", - /* PowerInput */ "Vermogen van de adapter", -}; - -const char* SettingsCalibrationDone = "Gecalibreerd!"; -const char* SettingsCalibrationWarning = "Zorg vooraf dat de punt op kamertemperatuur is!"; -const char* SettingsResetWarning = "Ben je zeker dat je alle standaardwaarden wil resetten?"; -const char* UVLOWarningString = "Voedingsspanning LAAG"; -const char* UndervoltageString = "Onderspanning"; -const char* InputVoltageString = "Voedingsspanning: "; -const char* WarningTipTempString = "Punt Temp: "; -const char* BadTipString = "DEFECT"; -const char* SleepingSimpleString = "Zzz "; -const char* SleepingAdvancedString = "Slaapstand..."; -const char* WarningSimpleString = "HEET"; -const char* WarningAdvancedString = "!!! PUNT HEET !!!"; -const char* SleepingTipAdvancedString = "Punt:"; -const char* IdleTipString = "Punt:"; -const char* IdleSetString = "Stel in:"; -const char* TipDisconnectedString = "Punt ONTKOPPELD"; -const char* SolderingAdvancedPowerPrompt = "Vermogen: "; -const char* OffString = "Uit"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'S'; -const char SettingSlowChar = 'T'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Spannings-", "bron" }, - /* SleepTemperature */ { "Slaap", "temp" }, - /* SleepTimeout */ { "Slaap", "time-out" }, - /* ShutdownTimeout */ { "Uitschakel", "time-out" }, - /* MotionSensitivity */ { "Bewegings-", "gevoeligheid" }, - /* TemperatureUnit */ { "Temperatuur", "schaal" }, - /* AdvancedIdle */ { "Gedetailleerd", "slaapscherm" }, - /* DisplayRotation */ { "Scherm-", "oriëntatie" }, - /* BoostEnabled */ { "Temperatuurverhoging", "ingeschakeld?" }, - /* BoostTemperature */ { "Verhogings", "temp" }, - /* AutoStart */ { "Auto", "start" }, - /* CooldownBlink */ { "Afkoel", "knipper" }, - /* TemperatureCalibration */ { "Calibreer", "temperatuur?" }, - /* SettingsReset */ { "Instellingen", "resetten?" }, - /* VoltageCalibration */ { "Calibreer", "voedingsspanning?" }, - /* AdvancedSoldering */ { "Gedetailleerd", "soldeerscherm" }, - /* ScrollingSpeed */ { "Scrol", "snelheid" }, - /* TipModel */ { "Punt", "Model" }, - /* SimpleCalibrationMode */ { "Eenvoudige", "Calibrering" }, - /* AdvancedCalibrationMode */ { "Gevorderde", "Calibrering" }, - /* PowerInput */ { "Vermogen", "Watt" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Soldeer\nInstellingen", - /* PowerSavingMenu */ "Slaap\nstanden", - /* UIMenu */ "Gebruikers-\nInterface", - /* AdvancedMenu */ "Gevorderde\nInstellingen", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Soldeerinstellingen", - /* PowerSavingMenu */ "Batterijspaarstanden", - /* UIMenu */ "Gebruikersinterface Instellingen", - /* AdvancedMenu */ "Gevorderde Instellingen", -}; - -#endif - -#ifdef LANG_NO -// ---- Norsk ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Strømforsyning. Sett nedre spenning for automatisk nedstenging. ", - /* SleepTemperature */ "Temperatura uśpienia <°C>", - /* SleepTimeout */ "Czas uśpienia ", - /* ShutdownTimeout */ "Czas wyłączenia ", - /* MotionSensitivity */ "Czułość ruchu <0.Wyłączona 1.minimalna 9.maksymalna>", - /* TemperatureUnit */ "Jednostka temperatury ", - /* AdvancedIdle */ "Wyświetla szczegółowe informacje za pomocą mniejszej czcionki na ekranie bezczynnośći ", - /* DisplayRotation */ "Orientacja wyświetlacza ", - /* BoostEnabled */ "Użyj przycisku przedniego w celu zwiększenia temperatury ", - /* BoostTemperature */ "Temperatura w trybie \"boost\" ", - /* AutoStart */ "Automatyczne uruchamianie trybu lutowania po włączeniu zasilania. T=Lutowanie, S= Tryb Uspienia ,N=Wyłącz", - /* CooldownBlink */ "Temperatura na ekranie miga, gdy grot jest jeszcze gorący. ", - /* TemperatureCalibration */ "Kalibracja temperatury grota lutownicy", - /* SettingsReset */ "Zresetuj wszystkie ustawienia", - /* VoltageCalibration */ "Kalibracja napięcia wejściowego. Krótkie naciśnięcie, aby ustawić, długie naciśnięcie, aby wyjść.", - /* AdvancedSoldering */ "Wyświetl szczegółowe informacje podczas lutowania ", - /* ScrollingSpeed */ "Szybkość przewijania tekstu", - /* TipModel */ "Wybór grotu", - /* SimpleCalibrationMode */ "Prosta kalibracja używając gorącej wody", - /* AdvancedCalibrationMode */ "Zaawansowana kalibracja za pomocy termopoary na grocie", - /* PowerInput */ "Moc używanego zasilacza w Watach", -}; - -const char* SettingsCalibrationDone = "Kalibracja udana!"; -const char* SettingsCalibrationWarning = "Przed kontynuowaniem upewnij się, że końcówka osiągnela temperature pokojowa!"; -const char* SettingsResetWarning = "Czy na pewno chcesz przywrócić ustawienia fabryczne?"; -const char* UVLOWarningString = "NISKIE DC"; -const char* UndervoltageString = "Pod napięciem"; -const char* InputVoltageString = "Wejściowe V: "; -const char* WarningTipTempString = "Temperatura grota: "; -const char* BadTipString = "ZŁY GROT"; -const char* SleepingSimpleString = "Zzz!"; -const char* SleepingAdvancedString = "Uspienie..."; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "GORĄCA KOŃCÓWKA!"; -const char* SleepingTipAdvancedString = "Grot:"; -const char* IdleTipString = "Grot:"; -const char* IdleSetString = " Ustaw:"; -const char* TipDisconnectedString = "GROT ODŁĄCZONY"; -const char* SolderingAdvancedPowerPrompt = "Power: "; -const char* OffString = "Wyłącz"; - -const char SettingRightChar = 'P'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "PWRSC" }, - /* SleepTemperature */ { "STMP" }, - /* SleepTimeout */ { "STME" }, - /* ShutdownTimeout */ { "SHTME" }, - /* MotionSensitivity */ { "MSENSE" }, - /* TemperatureUnit */ { "TMPUNT" }, - /* AdvancedIdle */ { "ADVIDL" }, - /* DisplayRotation */ { "DSPROT" }, - /* BoostEnabled */ { "BOOST" }, - /* BoostTemperature */ { "BTMP" }, - /* AutoStart */ { "ASTART" }, - /* CooldownBlink */ { "CLBLNK" }, - /* TemperatureCalibration */ { "TMP CAL?" }, - /* SettingsReset */ { "RESET?" }, - /* VoltageCalibration */ { "CAL VIN?" }, - /* AdvancedSoldering */ { "ADVSLD" }, - /* ScrollingSpeed */ { "DESCSP" }, - /* TipModel */ { "TIPMO" }, - /* SimpleCalibrationMode */ { "SMPCAL" }, - /* AdvancedCalibrationMode */ { "ADVCAL" }, - /* PowerInput */ { "PWRW" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Lutowanie\nUstawienia", - /* PowerSavingMenu */ "Uśpienie\nTryby", - /* UIMenu */ "Użytkownik\nInterfejs", - /* AdvancedMenu */ "Zaawansowane\nOpcje", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Ustawienia lutownicy", - /* PowerSavingMenu */ "Ustawienia oszczędzania energii", - /* UIMenu */ "Ustawienia interfejsu użytkownika", - /* AdvancedMenu */ "Opcje zaawansowane", -}; - -#endif - -#ifdef LANG_PT -// ---- Português ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Fonte de alimentação. Define a tensão de corte. ", - /* SleepTemperature */ "Temperatura de repouso ", - /* SleepTimeout */ "Tempo para repouso ", - /* ShutdownTimeout */ "Tempo para desligamento ", - /* MotionSensitivity */ "Sensibilidade ao movimento <0=Desligado 1=Menor 9=Maior>", - /* TemperatureUnit */ "Unidade de temperatura ", - /* AdvancedIdle */ "Exibe informações avançadas quando em espera", - /* DisplayRotation */ "Orientação da tela ", - /* BoostEnabled */ "Tecla frontal activa modo \"turbo\"", - /* BoostTemperature */ "Ajuste de temperatura do modo \"turbo\"", - /* AutoStart */ "Aquece a ponta automaticamente ao ligar", - /* CooldownBlink */ "Faz o valor da temperatura piscar durante o arrefecimento", - /* TemperatureCalibration */ "Calibra a temperatura", - /* SettingsReset */ "Reverte todos ajustes", - /* VoltageCalibration */ "Calibra a tensão de alimentação. Use os botões para ajustar o valor. Mantenha pressionado para sair", - /* AdvancedSoldering */ "Exibe informações avançadas durante o uso", - /* ScrollingSpeed */ "Velocidade a que o texto é exibido", - /* TipModel */ "Selecção de modelo de ponta", - /* SimpleCalibrationMode */ "Calibração simples com água quente", - /* AdvancedCalibrationMode */ "Calibração avançada com um termopar na ponta", - /* PowerInput */ "Potência da fonte usada (Watt)", -}; - -const char* SettingsCalibrationDone = "Calibração terminada!"; -const char* SettingsCalibrationWarning = "A ponta deve estar à temperatura ambiente antes de continuar!"; -const char* SettingsResetWarning = "Definições de fábrica?"; -const char* UVLOWarningString = "DC BAIXO"; -const char* UndervoltageString = "Subtensão"; -const char* InputVoltageString = "Tensão "; -const char* WarningTipTempString = "Temperatura "; -const char* BadTipString = "ER PONTA"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Repouso..."; -const char* WarningSimpleString = "TEMP"; -const char* WarningAdvancedString = "TEMP ELEVADA!"; -const char* SleepingTipAdvancedString = "Ponta:"; -const char* IdleTipString = "Ponta:"; -const char* IdleSetString = " Aj:"; -const char* TipDisconnectedString = "SEM PONTA"; -const char* SolderingAdvancedPowerPrompt = "Power: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'C'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'R'; -const char SettingSlowChar = 'L'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Fonte", "alimentação" }, - /* SleepTemperature */ { "Temperat.", "repouso" }, - /* SleepTimeout */ { "Tempo", "repouso" }, - /* ShutdownTimeout */ { "Tempo", "desligam." }, - /* MotionSensitivity */ { "Sensibilidade", "movimento" }, - /* TemperatureUnit */ { "Unidade", "temperatura" }, - /* AdvancedIdle */ { "Tela repouso", "avançada" }, - /* DisplayRotation */ { "Orientação", "tela" }, - /* BoostEnabled */ { "Modo turbo", "activado" }, - /* BoostTemperature */ { "Modo turbo", "temperat." }, - /* AutoStart */ { "Partida", "automática" }, - /* CooldownBlink */ { "Piscar ao", "arrefecer" }, - /* TemperatureCalibration */ { "Calibrar", "temperatura" }, - /* SettingsReset */ { "Reset de", "fábrica?" }, - /* VoltageCalibration */ { "Calibrar", "tensão" }, - /* AdvancedSoldering */ { "Tela trabalho", "avançada" }, - /* ScrollingSpeed */ { "Velocidade", "texto ajuda" }, - /* TipModel */ { "Ponta", "Modelo" }, - /* SimpleCalibrationMode */ { "Calibração", "Simples" }, - /* AdvancedCalibrationMode */ { "Calibração", "Avançada" }, - /* PowerInput */ { "Potência", "Fonte" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Configurações\nSolda", - /* PowerSavingMenu */ "Modos\nRepouso", - /* UIMenu */ "Interface\nUtilizador", - /* AdvancedMenu */ "Menu\nAvançado", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Configurações de soldagem", - /* PowerSavingMenu */ "Configurações de economia de energia", - /* UIMenu */ "Configurações do interface do utilizador", - /* AdvancedMenu */ "Opções avançadas", -}; - -#endif - -#ifdef LANG_RU -// ---- Русский ---- - -#define CYRILLIC_GLYPHS - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Источник питания. Установка напряжения отключения. ", - /* SleepTemperature */ "Температура режима ожидания <С>", - /* SleepTimeout */ "Время до перехода в режим ожидания <Минуты>", - /* ShutdownTimeout */ "Время до отключения <Минуты>", - /* MotionSensitivity */ "Акселерометр <0. Выкл. 1. мин. чувствительный 9. макс. чувствительный>", - /* TemperatureUnit */ "В чем измерять температуру", - /* AdvancedIdle */ "Показывать детальную информацию маленьким шрифтом на домашнем экране", - /* DisplayRotation */ "Ориентация дисплея ", - /* BoostEnabled */ "Турбо-режим при удержании кнопки А при пайке ", - /* BoostTemperature */ "Температура в турбо-режиме", - /* AutoStart */ "Автоматический запуск паяльника при включении питания. T=Нагрев, S=Режим ожидания,F=Выкл.", - /* CooldownBlink */ "Показывать температуру на экране охлаждения, пока жало остается горячим.", - /* TemperatureCalibration */ "Калибровка термодатчика.", - /* SettingsReset */ "Сброс всех настроек.", - /* VoltageCalibration */ "Калибровка напряжения входа. Настройка кнопками, нажать и удержать чтобы завершить.", - /* AdvancedSoldering */ "Показывать детальную информацию при пайке.", - /* ScrollingSpeed */ "Скорость прокрутки текста", - /* TipModel */ "Выбор модели жало", - /* SimpleCalibrationMode */ "Простая калибровка с использованием горячей воды", - /* AdvancedCalibrationMode */ "Калибровка с помощью термопары", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Калибровка выполнена!"; -const char* SettingsCalibrationWarning = "Убедитесь, что жало остыло до комнатной температуры, прежде чем продолжать!"; -const char* SettingsResetWarning = "Вы действительно хотите сбросить настройки до значений по умолчанию?"; -const char* UVLOWarningString = "АККУМ--"; -const char* UndervoltageString = "Под питанием"; -const char* InputVoltageString = "Питание B: "; -const char* WarningTipTempString = "Жало t°: "; -const char* BadTipString = "Жало--"; -const char* SleepingSimpleString = "Сон "; -const char* SleepingAdvancedString = "Ожидание..."; -const char* WarningSimpleString = " АЙ!"; -const char* WarningAdvancedString = "ВНИМАНИЕ ГОРЯЧО"; -const char* SleepingTipAdvancedString = "Жало:"; -const char* IdleTipString = "Жало:"; -const char* IdleSetString = " ->"; -const char* TipDisconnectedString = "Жало отключено"; -const char* SolderingAdvancedPowerPrompt = "Питание: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'П'; -const char SettingLeftChar = 'Л'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = '+'; -const char SettingSlowChar = '-'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Источник", "питания" }, - /* SleepTemperature */ { "Темпер.", "сна" }, - /* SleepTimeout */ { "Таймаут", "сна" }, - /* ShutdownTimeout */ { "Время до", "отключения" }, - /* MotionSensitivity */ { "Чувст. сенсо-", "ра движения" }, - /* TemperatureUnit */ { "Формат темпе-", "ратуры(C°/F°)" }, - /* AdvancedIdle */ { "Подробный ре-", "жим ожидания" }, - /* DisplayRotation */ { "Автоповорот", "экрана" }, - /* BoostEnabled */ { "Режим", "Турбо" }, - /* BoostTemperature */ { "Темпер.", "Турбо" }, - /* AutoStart */ { "Горячий", "старт" }, - /* CooldownBlink */ { "Показ t° при", "остывании" }, - /* TemperatureCalibration */ { "Калибровка", "температуры" }, - /* SettingsReset */ { "Сбросить все", "настройки?" }, - /* VoltageCalibration */ { "Калибровка", "напряжения" }, - /* AdvancedSoldering */ { "Подробный ре-", "жим пайки" }, - /* ScrollingSpeed */ { "Скорость", "текста" }, - /* TipModel */ { "Модель", "жало" }, - /* SimpleCalibrationMode */ { "Простая", "калибровка" }, - /* AdvancedCalibrationMode */ { "Подробная", "калибровка" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Параметры\nпайки", - /* PowerSavingMenu */ "Режим\nсна", - /* UIMenu */ "Пользовател\nинтерфейс", - /* AdvancedMenu */ "Дополнител.\nпараметры", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Параметры пайки", - /* PowerSavingMenu */ "Параметры экономии энергии", - /* UIMenu */ "Параметры пользовательского интерфейса", - /* AdvancedMenu */ "Дополнительные параметры", -}; - -#endif - -#ifdef LANG_SK -// ---- Slovenský ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Zdroj napatia. Nastavit napatie pre vypnutie (cutoff) ", - /* SleepTemperature */ "Kludova teplota (v nastavenych jednotkach)", - /* SleepTimeout */ "Kludovy rezim po ", - /* ShutdownTimeout */ "Cas na vypnutie ", - /* MotionSensitivity */ "Citlivost detekcie pohybu <0=Vyp, 1=Min ... 9=Max>", - /* TemperatureUnit */ "Jednotky merania teploty ", - /* AdvancedIdle */ "Zobrazit detailne informacie v kludovom rezime ", - /* DisplayRotation */ "Orientacia displeja ", - /* BoostEnabled */ "Povolit tlacidlo pre prudky nahrev ", - /* BoostTemperature */ "Cielova teplota pre prudky nahrev (v nastavenych jednotkach)", - /* AutoStart */ "Pri starte spustit rezim spajkovania ", - /* CooldownBlink */ "Blikanie ukazovatela teploty pocas chladnutia hrotu ", - /* TemperatureCalibration */ "Kalibracia posunu hrotu", - /* SettingsReset */ "Tovarenske nastavenia", - /* VoltageCalibration */ "Kalibracia VIN. Kratke stlacenie meni nastavenie, dlhe stlacenie pre navrat", - /* AdvancedSoldering */ "Zobrazenie detailov pocas spajkovania ", - /* ScrollingSpeed */ "Speed this text scrolls past at", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Najprv sa prosim uistite, ze hrot ma izbovu teplotu!"; -const char* SettingsResetWarning = "Are you sure to reset settings to default values?"; -const char* UVLOWarningString = "DC LOW"; -const char* UndervoltageString = "Undervoltage"; -const char* InputVoltageString = "Input V: "; -const char* WarningTipTempString = "Tip Temp: "; -const char* BadTipString = "BAD TIP"; -const char* SleepingSimpleString = "Chrr"; -const char* SleepingAdvancedString = "Kludovy rezim..."; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "HROT JE HORUCI !"; -const char* SleepingTipAdvancedString = "Tip:"; -const char* IdleTipString = "Tip:"; -const char* IdleSetString = " Set:"; -const char* TipDisconnectedString = "TIP DISCONNECTED"; -const char* SolderingAdvancedPowerPrompt = "Power: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "PWRSC" }, - /* SleepTemperature */ { "STMP" }, - /* SleepTimeout */ { "STME" }, - /* ShutdownTimeout */ { "SHTME" }, - /* MotionSensitivity */ { "MSENSE" }, - /* TemperatureUnit */ { "TMPUNT" }, - /* AdvancedIdle */ { "ADVIDL" }, - /* DisplayRotation */ { "DSPROT" }, - /* BoostEnabled */ { "BOOST" }, - /* BoostTemperature */ { "BTMP" }, - /* AutoStart */ { "ASTART" }, - /* CooldownBlink */ { "CLBLNK" }, - /* TemperatureCalibration */ { "TMP CAL?" }, - /* SettingsReset */ { "RESET?" }, - /* VoltageCalibration */ { "CAL VIN?" }, - /* AdvancedSoldering */ { "ADVSLD" }, - /* ScrollingSpeed */ { "DESCSP" }, - /* TipModel */ { "TIPMO" }, - /* SimpleCalibrationMode */ { "SMPCAL" }, - /* AdvancedCalibrationMode */ { "ADVCAL" }, - /* PowerInput */ { "PWRW" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Soldering\nSettings", - /* PowerSavingMenu */ "Sleep\nModes", - /* UIMenu */ "User\nInterface", - /* AdvancedMenu */ "Advanced\nOptions", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Soldering settings", - /* PowerSavingMenu */ "Power Saving Settings", - /* UIMenu */ "User Interface settings", - /* AdvancedMenu */ "Advanced options", -}; - -#endif - -#ifdef LANG_SR_CYRL -// ---- Српски ---- - -#define CYRILLIC_GLYPHS - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Тип напајања; одређује најнижи радни напон. ", - /* SleepTemperature */ "Температура на коју се спушта лемилица након одређеног времена мировања. ", - /* SleepTimeout */ "Време мировања након кога лемилица спушта температуру. ", - /* ShutdownTimeout */ "Време мировања након кога се лемилица гаси. ", - /* MotionSensitivity */ "Осетљивост сензора покрета. <0=искључено, 1=најмање осетљиво, 9=најосетљивије>", - /* TemperatureUnit */ "Јединице у којима се приказује температура. ", - /* AdvancedIdle */ "Приказивање детаљних информација на екрану током мировања.", - /* DisplayRotation */ "Како је окренут екран. <А=аутоматски, Л=за леворуке, Д=за десноруке>", - /* BoostEnabled */ "Држање предњег тастера током лемљења додатно појачава температуру врха.", - /* BoostTemperature */ "Температура врха лемилице у току појачања.", - /* AutoStart */ "Лемилица одмах по покретању прелази у режим лемљења и греје се.", - /* CooldownBlink */ "Приказ температуре трепће приликом хлађења докле год је врх и даље врућ.", - /* TemperatureCalibration */ "Калибрисање одступања температуре врха у односу на дршку.", - /* SettingsReset */ "Враћање свих поставки на фабричке вредности.", - /* VoltageCalibration */ "Калибрисање улазног напона. Подешава се на тастере; дуги притисак за крај.", - /* AdvancedSoldering */ "Приказивање детаљних информација на екрану током лемљења.", - /* ScrollingSpeed */ "Брзина кретања описних порука попут ове. <С=споро, Б=брзо>", - /* TipModel */ "Одабир модела лемног врха.", - /* SimpleCalibrationMode */ "Једноставна калибрација кипућом водом.", - /* AdvancedCalibrationMode */ "Напредна калибрација помоћу термопара.", - /* PowerInput */ "Снага напајања у ватима.", -}; - -const char* SettingsCalibrationDone = "Калибрација готова"; -const char* SettingsCalibrationWarning = "Проверите да ли је врх охлађен на собну температуру пре него што наставите"; -const char* SettingsResetWarning = "Да ли заиста желите да вратите поставке на фабричке вредности?"; -const char* UVLOWarningString = "НИЗ.НАП."; -const char* UndervoltageString = "ПРЕНИЗАК НАПОН"; -const char* InputVoltageString = "Ул. напон: "; -const char* WarningTipTempString = "Темп. врха: "; -const char* BadTipString = "ЛОШ ВРХ"; -const char* SleepingSimpleString = "Сан"; -const char* SleepingAdvancedString = "Спавање..."; -const char* WarningSimpleString = "ВРУЋ"; -const char* WarningAdvancedString = "! ОПРЕЗ, ВРУЋЕ !"; -const char* SleepingTipAdvancedString = "Врх:"; -const char* IdleTipString = "Врх:"; -const char* IdleSetString = " / "; -const char* TipDisconnectedString = "ВРХ НИЈЕ СПОЈЕН"; -const char* SolderingAdvancedPowerPrompt = "Снага: "; -const char* OffString = "Иск"; - -const char SettingRightChar = 'Д'; -const char SettingLeftChar = 'Л'; -const char SettingAutoChar = 'А'; -const char SettingFastChar = 'Б'; -const char SettingSlowChar = 'С'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Врста", "напајања" }, - /* SleepTemperature */ { "Темп.", "спавања" }, - /* SleepTimeout */ { "Време до", "спавања" }, - /* ShutdownTimeout */ { "Време до", "гашења" }, - /* MotionSensitivity */ { "Осетљивост", "на покрет" }, - /* TemperatureUnit */ { "Јединица", "температуре" }, - /* AdvancedIdle */ { "Детаљи током", "мировања" }, - /* DisplayRotation */ { "Оријентација", "екрана" }, - /* BoostEnabled */ { "Појачање", "омогућено" }, - /* BoostTemperature */ { "Темп.", "појачања" }, - /* AutoStart */ { "Врући", "старт" }, - /* CooldownBlink */ { "Упозорење", "при хлађењу" }, - /* TemperatureCalibration */ { "Калибрација", "температуре" }, - /* SettingsReset */ { "Фабричке", "поставке" }, - /* VoltageCalibration */ { "Калибрација", "улазног напона" }, - /* AdvancedSoldering */ { "Детаљи током", "лемљења" }, - /* ScrollingSpeed */ { "Брзина", "порука" }, - /* TipModel */ { "Модел", "врха" }, - /* SimpleCalibrationMode */ { "Једноставна", "калибрација" }, - /* AdvancedCalibrationMode */ { "Напредна", "калибрација" }, - /* PowerInput */ { "Улазна", "снага" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Поставке\nлемљења", - /* PowerSavingMenu */ "Уштеда\nенергије", - /* UIMenu */ "Корисничко\nсучеље", - /* AdvancedMenu */ "Напредне\nпоставке", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Поставке режима лемљења.", - /* PowerSavingMenu */ "Поставке режима мировања.", - /* UIMenu */ "Поставке корисничког сучеља.", - /* AdvancedMenu */ "Напредне поставке.", -}; - -#endif - -#ifdef LANG_SR_LATN -// ---- Srpski ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Tip napajanja; određuje najniži radni napon. ", - /* SleepTemperature */ "Temperatura na koju se spušta lemilica nakon određenog vremena mirovanja. ", - /* SleepTimeout */ "Vreme mirovanja nakon koga lemilica spušta temperaturu. ", - /* ShutdownTimeout */ "Vreme mirovanja nakon koga se lemilica gasi. ", - /* MotionSensitivity */ "Osetljivost senzora pokreta. <0=isključeno, 1=najmanje osetljivo, 9=najosetljivije>", - /* TemperatureUnit */ "Jedinice u kojima se prikazuje temperatura. ", - /* AdvancedIdle */ "Prikazivanje detaljnih informacija na ekranu tokom mirovanja.", - /* DisplayRotation */ "Kako je okrenut ekran. ", - /* BoostEnabled */ "Držanje prednjeg tastera tokom lemljenja dodatno pojačava temperaturu vrha.", - /* BoostTemperature */ "Temperatura vrha lemilice u toku pojačanja.", - /* AutoStart */ "Lemilica odmah po pokretanju prelazi u režim lemljenja i greje se.", - /* CooldownBlink */ "Prikaz temperature trepće prilikom hlađenja dokle god je vrh i dalje vruć.", - /* TemperatureCalibration */ "Kalibrisanje odstupanja temperature vrha u odnosu na dršku.", - /* SettingsReset */ "Vraćanje svih postavki na fabričke vrednosti.", - /* VoltageCalibration */ "Kalibrisanje ulaznog napona. Podešava se na tastere; dugi pritisak za kraj.", - /* AdvancedSoldering */ "Prikazivanje detaljnih informacija na ekranu tokom lemljenja.", - /* ScrollingSpeed */ "Brzina kretanja opisnih poruka poput ove. ", - /* TipModel */ "Odabir modela lemnog vrha.", - /* SimpleCalibrationMode */ "Jednostavna kalibracija kipućom vodom.", - /* AdvancedCalibrationMode */ "Napredna kalibracija pomoću termopara.", - /* PowerInput */ "Snaga napajanja u vatima.", -}; - -const char* SettingsCalibrationDone = "Kalibracija gotova"; -const char* SettingsCalibrationWarning = "Proverite da li je vrh ohlađen na sobnu temperaturu pre nego što nastavite"; -const char* SettingsResetWarning = "Da li zaista želite da vratite postavke na fabričke vrednosti?"; -const char* UVLOWarningString = "NIZ.NAP."; -const char* UndervoltageString = "PRENIZAK NAPON"; -const char* InputVoltageString = "Ul. napon: "; -const char* WarningTipTempString = "Temp. vrha: "; -const char* BadTipString = "LOŠ VRH"; -const char* SleepingSimpleString = "Zzz"; -const char* SleepingAdvancedString = "Spavanje..."; -const char* WarningSimpleString = "VRUĆ"; -const char* WarningAdvancedString = "! OPREZ, VRUĆE !"; -const char* SleepingTipAdvancedString = "Vrh:"; -const char* IdleTipString = "Vrh:"; -const char* IdleSetString = " / "; -const char* TipDisconnectedString = "VRH NIJE SPOJEN"; -const char* SolderingAdvancedPowerPrompt = "Snaga: "; -const char* OffString = "Isk"; - -const char SettingRightChar = 'D'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'B'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Vrsta", "napajanja" }, - /* SleepTemperature */ { "Temp.", "spavanja" }, - /* SleepTimeout */ { "Vreme do", "spavanja" }, - /* ShutdownTimeout */ { "Vreme do", "gašenja" }, - /* MotionSensitivity */ { "Osetljivost", "na pokret" }, - /* TemperatureUnit */ { "Jedinica", "temperature" }, - /* AdvancedIdle */ { "Detalji tokom", "mirovanja" }, - /* DisplayRotation */ { "Orijentacija", "ekrana" }, - /* BoostEnabled */ { "Pojačanje", "omogućeno" }, - /* BoostTemperature */ { "Temp.", "pojačanja" }, - /* AutoStart */ { "Vrući", "start" }, - /* CooldownBlink */ { "Upozorenje", "pri hlađenju" }, - /* TemperatureCalibration */ { "Kalibracija", "temperature" }, - /* SettingsReset */ { "Fabričke", "postavke" }, - /* VoltageCalibration */ { "Kalibracija", "ulaznog napona" }, - /* AdvancedSoldering */ { "Detalji tokom", "lemljenja" }, - /* ScrollingSpeed */ { "Brzina", "poruka" }, - /* TipModel */ { "Model", "vrha" }, - /* SimpleCalibrationMode */ { "Jednostavna", "kalibracija" }, - /* AdvancedCalibrationMode */ { "Napredna", "kalibracija" }, - /* PowerInput */ { "Ulazna", "snaga" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Postavke\nlemljenja", - /* PowerSavingMenu */ "Ušteda\nenergije", - /* UIMenu */ "Korisničko\nsučelje", - /* AdvancedMenu */ "Napredne\npostavke", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Postavke režima lemljenja.", - /* PowerSavingMenu */ "Postavke režima mirovanja.", - /* UIMenu */ "Postavke korisničkog sučelja.", - /* AdvancedMenu */ "Napredne postavke.", -}; - -#endif - -#ifdef LANG_SV -// ---- Svenska ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Strömkälla. Anger lägsta spänning. ", - /* SleepTemperature */ "Vilotemperatur ", - /* SleepTimeout */ "Vilo-timeout ", - /* ShutdownTimeout */ "Avstängnings-timeout ", - /* MotionSensitivity */ "Rörelsekänslighet <0.Av 1.minst känslig 9.mest känslig>", - /* TemperatureUnit */ "Temperaturenhet ", - /* AdvancedIdle */ "Visa detaljerad information i mindre typsnitt när inaktiv.", - /* DisplayRotation */ "Visningsläge ", - /* BoostEnabled */ "Aktivera främre knappen för turboläge (temperaturhöjning) vid lödning", - /* BoostTemperature */ "Temperatur i \"turbo\"-läge", - /* AutoStart */ "Startar automatiskt lödpennan vid uppstart. T=Lödning, S=Viloläge, F=Av", - /* CooldownBlink */ "Blinka temperaturen medan spetsen kyls av och fortfarande är varm.", - /* TemperatureCalibration */ "Kalibrera spets-kompensation.", - /* SettingsReset */ "Återställ alla inställningar", - /* VoltageCalibration */ "Inspänningskalibrering. Knapparna justerar, håll inne för avslut", - /* AdvancedSoldering */ "Visa detaljerad information vid lödning", - /* ScrollingSpeed */ "Hastighet som den här texten rullar i", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Please ensure the tip is at room temperature before continuing!"; -const char* SettingsResetWarning = "Are you sure you want to reset settings to default values?"; -const char* UVLOWarningString = "DC LÅG"; -const char* UndervoltageString = "Underspänning"; -const char* InputVoltageString = "Inspän. V: "; -const char* WarningTipTempString = "Spetstemp: "; -const char* BadTipString = "SPETSFEL"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Viloläge..."; -const char* WarningSimpleString = "VARM"; -const char* WarningAdvancedString = "!! SPETS VARM !!"; -const char* SleepingTipAdvancedString = "Spets:"; -const char* IdleTipString = "Spets:"; -const char* IdleSetString = " Ange:"; -const char* TipDisconnectedString = "SPETS URTAGEN"; -const char* SolderingAdvancedPowerPrompt = "Ström: "; -const char* OffString = "Av"; - -const char SettingRightChar = 'H'; -const char SettingLeftChar = 'V'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'S'; -const char SettingSlowChar = 'L'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Ström-", "källa" }, - /* SleepTemperature */ { "Vilo-", "temp" }, - /* SleepTimeout */ { "Vilo-", "timeout" }, - /* ShutdownTimeout */ { "Avstängn.", "timeout" }, - /* MotionSensitivity */ { "Rörelse-", "känslighet" }, - /* TemperatureUnit */ { "Temperatur-", "enheter" }, - /* AdvancedIdle */ { "Detaljerad", "vid inaktiv" }, - /* DisplayRotation */ { "Visnings", "läge" }, - /* BoostEnabled */ { "Turboläge", "aktiverat" }, - /* BoostTemperature */ { "Turbo-", "temp" }, - /* AutoStart */ { "Auto", "start" }, - /* CooldownBlink */ { "Nedkylnings-", "blink" }, - /* TemperatureCalibration */ { "Kalibrera", "temperatur?" }, - /* SettingsReset */ { "Fabriks-", "inställ?" }, - /* VoltageCalibration */ { "Kalibrera", "inspänning?" }, - /* AdvancedSoldering */ { "Detaljerad", "lödng.skärm" }, - /* ScrollingSpeed */ { "Beskrivning", "rullhast." }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Lödnings-\ninställningar", - /* PowerSavingMenu */ "Vilo-\nlägen", - /* UIMenu */ "Användar-\ngränssnitt", - /* AdvancedMenu */ "Avancerade\nalternativ", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Lödningsinställningar", - /* PowerSavingMenu */ "Viloläges-inställningar", - /* UIMenu */ "Användargränssnitts-inställningar", - /* AdvancedMenu */ "Avancerade alternativ", -}; - -#endif - -#ifdef LANG_TR -// ---- Türk ---- - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Güç Kaynağı. kesim geriliminı ayarlar. ", - /* SleepTemperature */ "Uyku Sıcaklığı ", - /* SleepTimeout */ "Uyku Zaman Aşımı ", - /* ShutdownTimeout */ "Kapatma Zaman Aşımı ", - /* MotionSensitivity */ "Hareket Hassasiyeti <0.Kapalı 1.En az duyarlı 9.En duyarlı>", - /* TemperatureUnit */ "Sıcaklık Ünitesi ", - /* AdvancedIdle */ "Boş ekranda ayrıntılı bilgileri daha küçük bir yazı tipi ile göster.", - /* DisplayRotation */ "Görüntü Yönlendirme ", - /* BoostEnabled */ "Lehimleme yaparken ön tuşa basmak Boost moduna sokar(450C)", - /* BoostTemperature */ "\"boost\" Modu Derecesi", - /* AutoStart */ "Güç verildiğinde otomatik olarak lehimleme modunda başlat. T=Lehimleme Modu, S= Uyku Modu,F=Kapalı", - /* CooldownBlink */ "Soğutma ekranında uç hala sıcakken derece yanıp sönsün.", - /* TemperatureCalibration */ "Ucu kalibre et.", - /* SettingsReset */ "Bütün ayarları sıfırla", - /* VoltageCalibration */ "VIN Kalibrasyonu. Düğmeler ayarlar, çıkmak için uzun bas.", - /* AdvancedSoldering */ "Lehimleme yaparken detaylı bilgi göster", - /* ScrollingSpeed */ "Speed this text scrolls past at", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Lütfen devam etmeden önce ucun oda sıcaklığında olduğunu garantiye alın!"; -const char* SettingsResetWarning = "Are you sure to reset settings to default values?"; -const char* UVLOWarningString = "DC LOW"; -const char* UndervoltageString = "Undervoltage"; -const char* InputVoltageString = "Input V: "; -const char* WarningTipTempString = "Tip Temp: "; -const char* BadTipString = "BAD TIP"; -const char* SleepingSimpleString = "Zzzz"; -const char* SleepingAdvancedString = "Uyuyor..."; -const char* WarningSimpleString = "HOT!"; -const char* WarningAdvancedString = "UYARI! UÇ SICAK!"; -const char* SleepingTipAdvancedString = "Tip:"; -const char* IdleTipString = "Tip:"; -const char* IdleSetString = " Set:"; -const char* TipDisconnectedString = "TIP DISCONNECTED"; -const char* SolderingAdvancedPowerPrompt = "Power: "; -const char* OffString = "Off"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = 'F'; -const char SettingSlowChar = 'S'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_SINGLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "PWRSC" }, - /* SleepTemperature */ { "STMP" }, - /* SleepTimeout */ { "STME" }, - /* ShutdownTimeout */ { "SHTME" }, - /* MotionSensitivity */ { "MSENSE" }, - /* TemperatureUnit */ { "TMPUNT" }, - /* AdvancedIdle */ { "ADVIDL" }, - /* DisplayRotation */ { "DSPROT" }, - /* BoostEnabled */ { "BOOST" }, - /* BoostTemperature */ { "BTMP" }, - /* AutoStart */ { "ASTART" }, - /* CooldownBlink */ { "CLBLNK" }, - /* TemperatureCalibration */ { "TMP CAL?" }, - /* SettingsReset */ { "RESET?" }, - /* VoltageCalibration */ { "CAL VIN?" }, - /* AdvancedSoldering */ { "ADVSLD" }, - /* ScrollingSpeed */ { "DESCSP" }, - /* TipModel */ { "TIPMO" }, - /* SimpleCalibrationMode */ { "SMPCAL" }, - /* AdvancedCalibrationMode */ { "ADVCAL" }, - /* PowerInput */ { "PWRW" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Soldering\nSettings", - /* PowerSavingMenu */ "Sleep\nModes", - /* UIMenu */ "User\nInterface", - /* AdvancedMenu */ "Advanced\nOptions", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Soldering settings", - /* PowerSavingMenu */ "Power Saving Settings", - /* UIMenu */ "User Interface settings", - /* AdvancedMenu */ "Advanced options", -}; - -#endif - -#ifdef LANG_UK -// ---- Українська ---- - -#define CYRILLIC_GLYPHS - -const char* SettingsDescriptions[] = { - /* PowerSource */ "Установка напруги відключення. ", - /* SleepTemperature */ "Температура режиму очікування ", - /* SleepTimeout */ "Час до переходу в режим очікування <Доступно отключение>", - /* ShutdownTimeout */ "Час до відключення <Доступно відключення>", - /* MotionSensitivity */ "Акселерометр <0 - Викл. 1 хв. чутливості 9 - макс. чутливості>", - /* TemperatureUnit */ "Одиниця виміру температури ", - /* AdvancedIdle */ "Показувати детальну в режимі налаштувань <Замість картинки>", - /* DisplayRotation */ "Орієнтація дисплея ", - /* BoostEnabled */ "Турбо-режим при утриманні кнопки А при пайці", - /* BoostTemperature */ "Температура в Турбо-режимі", - /* AutoStart */ "Автоматичний перехід в режим пайки при включенні живлення.", - /* CooldownBlink */ "Показувати температуру на екрані охолодження, поки жало залишається гарячим, при цьому екран моргає", - /* TemperatureCalibration */ "Калібрування температурного датчика.", - /* SettingsReset */ "Скидання всіх параметрів до вихідних значень.", - /* VoltageCalibration */ "Калібрування напруги входу. Налаштувати кнопками, натиснути і утримати щоб завершити.", - /* AdvancedSoldering */ "Показувати детальну інформацію при пайці.", - /* ScrollingSpeed */ "Швидкість прокрутки тексту", - /* TipModel */ "Tip Model selection", - /* SimpleCalibrationMode */ "Simple Calibration using Hot water", - /* AdvancedCalibrationMode */ "Advanced calibration using thermocouple on the tip", - /* PowerInput */ "Power Wattage of the power adapter used", -}; - -const char* SettingsCalibrationDone = "Calibration done!"; -const char* SettingsCalibrationWarning = "Переконайтеся, що жало охололо до кімнатної температури, перш ніж продовжувати!"; -const char* SettingsResetWarning = "Ви дійсно хочете скинути налаштування до значень за замовчуванням?"; -const char* UVLOWarningString = "АККУМ--"; -const char* UndervoltageString = "Під живленням"; -const char* InputVoltageString = "Жив.(B): "; -const char* WarningTipTempString = "Жало t°: "; -const char* BadTipString = "Жало--"; -const char* SleepingSimpleString = "Сон "; -const char* SleepingAdvancedString = "Очікування..."; -const char* WarningSimpleString = "АЙ!"; -const char* WarningAdvancedString = "УВАГА ГАРЯЧЕ!"; -const char* SleepingTipAdvancedString = "Жало:"; -const char* IdleTipString = "Жало:"; -const char* IdleSetString = " ->"; -const char* TipDisconnectedString = "Жало вимкнено!"; -const char* SolderingAdvancedPowerPrompt = "Живлення: "; -const char* OffString = "Вим"; - -const char SettingRightChar = 'R'; -const char SettingLeftChar = 'L'; -const char SettingAutoChar = 'A'; -const char SettingFastChar = '+'; -const char SettingSlowChar = '-'; - -const enum ShortNameType SettingsShortNameType = SHORT_NAME_DOUBLE_LINE; -const char* SettingsShortNames[][2] = { - /* PowerSource */ { "Джерело", "живлення" }, - /* SleepTemperature */ { "Темпер.", "сну" }, - /* SleepTimeout */ { "Таймаут", "сну" }, - /* ShutdownTimeout */ { "Часу до", "вимкнення" }, - /* MotionSensitivity */ { "Чутл. сенсо-", "ру руху" }, - /* TemperatureUnit */ { "Формат темпе-", "ратури(C°/F°)" }, - /* AdvancedIdle */ { "Детальний ре-", "жим очікуван." }, - /* DisplayRotation */ { "Автоповорот", "екрану" }, - /* BoostEnabled */ { "Режим", "Турбо" }, - /* BoostTemperature */ { "Темпер.", "Турбо" }, - /* AutoStart */ { "Гарячий", "старт" }, - /* CooldownBlink */ { "Показ t° при", "охолодж." }, - /* TemperatureCalibration */ { "Калібровка", "температури" }, - /* SettingsReset */ { "Скинути всі", "налаштування?" }, - /* VoltageCalibration */ { "Калібровка", "напруга" }, - /* AdvancedSoldering */ { "Детальний ре-", "жим пайки" }, - /* ScrollingSpeed */ { "Швидкість", "тексту" }, - /* TipModel */ { "Tip", "Model" }, - /* SimpleCalibrationMode */ { "Simple", "Calibration" }, - /* AdvancedCalibrationMode */ { "Advanced", "Calibration" }, - /* PowerInput */ { "Power", "Wattage" }, -}; - -const char* SettingsMenuEntries[4] = { - /* SolderingMenu */ "Пайка\n", - /* PowerSavingMenu */ "Сон\n", - /* UIMenu */ "Інтерфейс\n", - /* AdvancedMenu */ "Інші\n", -}; - -const char* SettingsMenuEntriesDescriptions[4] = { - /* SolderingMenu */ "Налаштування для режиму пайки. Діють при включеному жалі.", - /* PowerSavingMenu */ "Налаштування при бездіяльності. Корисно що б не обпектися і з часом не спалити житло.", - /* UIMenu */ "Користувальницький інтерфейс.", - /* AdvancedMenu */ "Розширені налаштування. Додаткові зручності.", -}; - -#endif diff --git a/workspace/TS100/src/gui.cpp b/workspace/TS100/src/gui.cpp index 8a21c591..abb0dadd 100644 --- a/workspace/TS100/src/gui.cpp +++ b/workspace/TS100/src/gui.cpp @@ -305,10 +305,10 @@ static void settings_displayInputVRange(void) { printShortDescription(0, 6); if (systemSettings.cutoutSetting) { - OLED::drawChar('0' + 2 + systemSettings.cutoutSetting); - OLED::drawChar('S'); + OLED::printNumber(2 + systemSettings.cutoutSetting,1); + OLED::print(SymbolCellCount); } else { - OLED::print("DC"); + OLED::print(SymbolDC); } } #else @@ -318,13 +318,17 @@ static void settings_setInputPRange(void) { static void settings_displayInputPRange(void) { printShortDescription(0, 5); -//0 = 18W, 1=24W + //0 = 9V, 1=12V (Fixed Voltages, these imply 1.5A limits) + //2 = 18W, 2=24W (Auto Adjusting V, estimated from the tip resistance???) # TODO + // Need to come back and look at these ^ as there were issues with voltage hunting switch (systemSettings.cutoutSetting) { case 0: - OLED::print("18W"); + OLED::printNumber(9, 2); + OLED::print(SymbolVolts); break; case 1: - OLED::print("24W"); + OLED::printNumber(12, 2); + OLED::print(SymbolVolts); break; default: break; @@ -367,10 +371,10 @@ static void settings_displaySleepTime(void) { OLED::print(OffString); } else if (systemSettings.SleepTime < 6) { OLED::printNumber(systemSettings.SleepTime * 10, 2); - OLED::drawChar('S'); + OLED::print(SymbolSeconds); } else { OLED::printNumber(systemSettings.SleepTime - 5, 2); - OLED::drawChar('M'); + OLED::print(SymbolMinutes); } } @@ -389,7 +393,7 @@ static void settings_displayShutdownTime(void) { OLED::print(OffString); } else { OLED::printNumber(systemSettings.ShutdownTime, 2); - OLED::drawChar('M'); + OLED::print(SymbolMinutes); } } @@ -422,7 +426,7 @@ static void settings_setTempF(void) { static void settings_displayTempF(void) { printShortDescription(5, 7); - OLED::drawChar((systemSettings.temperatureInF) ? 'F' : 'C'); + OLED::print((systemSettings.temperatureInF) ? SymbolDegF : SymbolDegC); } static void settings_setSensitivity(void) { @@ -462,7 +466,7 @@ static void settings_setScrollSpeed(void) { } static void settings_displayScrollSpeed(void) { printShortDescription(16, 7); - OLED::drawChar( + OLED::print( (systemSettings.descriptionScrollSpeed) ? SettingFastChar : SettingSlowChar); } @@ -490,16 +494,16 @@ static void settings_displayDisplayRotation(void) { switch (systemSettings.OrientationMode) { case 0: - OLED::drawChar(SettingRightChar); + OLED::print(SettingRightChar); break; case 1: - OLED::drawChar(SettingLeftChar); + OLED::print(SettingLeftChar); break; case 2: - OLED::drawChar(SettingAutoChar); + OLED::print(SettingAutoChar); break; default: - OLED::drawChar(SettingRightChar); + OLED::print(SettingRightChar); break; } } @@ -559,7 +563,7 @@ static void settings_setResetSettings(void) { OLED::setFont(0); OLED::setCursor(0, 0); - OLED::print("RESET OK"); + OLED::print(ResetOKMessage); OLED::refresh(); waitForButtonPressOrTimeout(200); // 2 second timeout @@ -572,6 +576,12 @@ static void settings_displayResetSettings(void) { static void settings_setTipModel(void) { systemSettings.tipType++; + if(systemSettings.tipType==Tip_MiniWare) + systemSettings.tipType++; +#ifdef MODEL_TS100 + if(systemSettings.tipType==Tip_Hakko) + systemSettings.tipType++; +#endif systemSettings.tipType %= (Tip_Custom + 1); // Wrap after custom } static void settings_displayTipModel(void) { @@ -581,64 +591,21 @@ static void settings_displayTipModel(void) { // set the cursor // Print the mfg OLED::setCursor(55, 0); - if (systemSettings.tipType < Tip_MiniWare) { -#ifdef MODEL_TS100 - OLED::print("TS100"); -#else - OLED::print("TS80"); -#endif + if (systemSettings.tipType == Tip_Custom) { + OLED::print(TipModelStrings[Tip_Custom]); + } else if (systemSettings.tipType < Tip_MiniWare) { + OLED::print(TipModelStrings[Tip_MiniWare]); } #ifdef MODEL_TS100 else if (systemSettings.tipType < Tip_Hakko) { - OLED::print("HAKKO"); + OLED::print(TipModelStrings[Tip_Hakko]); } #endif - else if (systemSettings.tipType == Tip_Custom) { - OLED::print("User"); - } + OLED::setCursor(55, 8); -#ifdef MODEL_TS100 - switch ((enum TipType)systemSettings.tipType) { - case TS_B2: - OLED::print(" B2 "); - break; - case TS_D24: - OLED::print(" D24 "); - break; - case TS_BC2: - OLED::print(" BC2 "); - break; - case TS_C1: - OLED::print(" C1 "); - break; - case HAKKO_BC2: - OLED::print(" BC2 "); - break; - case Tip_Custom: - OLED::print("Tuned"); - break; - default: - OLED::print("????"); - break; - } -#endif -#ifdef MODEL_TS80 - // only 2 tips atm - switch ((enum TipType) systemSettings.tipType) { - case TS_B02: - OLED::print(" B02 "); - break; - case TS_D25: - OLED::print(" D25 "); - break; - case Tip_Custom: - OLED::print("Tuned"); - break; - default: - OLED::print("????"); - break; - } -#endif + if (systemSettings.tipType != Tip_Custom) + OLED::print(TipModelStrings[systemSettings.tipType]); + } static void calibration_displaySimpleCal(void) { printShortDescription(18, 5); @@ -656,9 +623,9 @@ static void setTipOffset() { // cycle through the filter a fair bit to ensure we're stable. OLED::clearScreen(); OLED::setCursor(0, 0); - OLED::print("."); + OLED::print(SymbolDot); for (uint8_t x = 0; x < i / 4; x++) - OLED::print("."); + OLED::print(SymbolDot); OLED::refresh(); osDelay(100); } @@ -671,7 +638,7 @@ static void setTipOffset() { setCalibrationOffset(systemSettings.CalibrationOffset); // store the error OLED::clearScreen(); OLED::setCursor(0, 0); - OLED::print("OK"); + OLED::drawCheckbox(true); OLED::refresh(); osDelay(1000); } @@ -706,18 +673,17 @@ static void calibration_enterSimpleCal(void) { // Show this to the user OLED::clearScreen(); OLED::setCursor(0, 0); - OLED::print("Your G: "); + OLED::print(YourGainMessage); OLED::printNumber(gain, 6); - OLED::print("\n~= 120-140"); OLED::refresh(); osDelay(2000); waitForButtonPress(); OLED::clearScreen(); OLED::setCursor(0, 0); - OLED::print("H: "); + OLED::print(SymbolPlus); OLED::printNumber(RawTipHot, 8); OLED::setCursor(0, 8); - OLED::print("C: "); + OLED::print(SymbolMinus); OLED::printNumber(RawTipCold, 8); OLED::refresh(); osDelay(2000); @@ -771,17 +737,17 @@ static void calibration_enterAdvancedCal(void) { OLED::clearScreen(); OLED::setFont(0); if (OLED::getRotation()) - OLED::drawChar('-'); + OLED::print(SymbolMinus); else - OLED::drawChar('+'); + OLED::print(SymbolPlus); - OLED::drawChar(' '); + OLED::print(SymbolSpace); OLED::printNumber(systemSettings.customTipGain, 4); - OLED::drawChar(' '); + OLED::print(SymbolSpace); if (OLED::getRotation()) - OLED::drawChar('+'); + OLED::print(SymbolPlus); else - OLED::drawChar('-'); + OLED::print(SymbolMinus); OLED::refresh(); GUIDelay(); } @@ -824,10 +790,10 @@ static void settings_setCalibrateVIN(void) { OLED::setCursor(0, 0); OLED::printNumber(getInputVoltageX10(systemSettings.voltageDiv, 0) / 10, 2); - OLED::print("."); + OLED::print(SymbolDot); OLED::printNumber(getInputVoltageX10(systemSettings.voltageDiv, 0) % 10, 1); - OLED::print("V"); + OLED::print(SymbolVolts); ButtonState buttons = getButtonState(); switch (buttons) { diff --git a/workspace/TS100/src/main.cpp b/workspace/TS100/src/main.cpp index 9513f402..076965b7 100644 --- a/workspace/TS100/src/main.cpp +++ b/workspace/TS100/src/main.cpp @@ -82,7 +82,7 @@ int main(void) { #ifdef LOCAL_BUILD //Test that there was enough ram in the FreeRToS pool to allocate all the tasks if (MOVTaskHandle == 0) - asm("bkpt"); + asm("bkpt"); #endif } @@ -97,7 +97,7 @@ int main(void) { void printVoltage() { uint32_t volt = getInputVoltageX10(systemSettings.voltageDiv, 0); OLED::printNumber(volt / 10, 2); - OLED::drawChar('.'); + OLED::print(SymbolDot); OLED::printNumber(volt % 10, 1); } void GUIDelay() { @@ -119,9 +119,9 @@ void gui_drawTipTemp(bool symbol) { OLED::printNumber(Temp, 3); // Draw the tip temp out finally if (symbol) { if (systemSettings.temperatureInF) - OLED::print("F"); + OLED::print(SymbolDegF); else - OLED::print("C"); + OLED::print(SymbolDegC); } } ButtonState getButtonState() { @@ -271,36 +271,36 @@ static void gui_drawBatteryIcon() { // we need to calculate which of the 10 levels they are on uint8_t cellCount = systemSettings.cutoutSetting + 2; uint32_t cellV = getInputVoltageX10(systemSettings.voltageDiv, 0) - / cellCount; + / cellCount; // Should give us approx cell voltage X10 // Range is 42 -> 33 = 9 steps therefore we will use battery 1-10 if (cellV < 33) - cellV = 33; - cellV -= 33; // Should leave us a number of 0-9 + cellV = 33; + cellV -= 33;// Should leave us a number of 0-9 if (cellV > 9) - cellV = 9; + cellV = 9; OLED::drawBattery(cellV + 1); } else - OLED::drawSymbol(15); // Draw the DC Logo + OLED::drawSymbol(15); // Draw the DC Logo #else - // On TS80 we replace this symbol with the voltage we are operating on - // If <9V then show single digit, if not show duals - uint8_t V = getInputVoltageX10(systemSettings.voltageDiv, 0); - if (V % 10 >= 5) - V = V / 10 + 1;// round up - else - V = V / 10; - if (V >= 10) { - int16_t xPos = OLED::getCursorX(); - OLED::setFont(1); - OLED::printNumber(1, 1); - OLED::setCursor(xPos, 8); - OLED::printNumber(V % 10, 1); - OLED::setFont(0); - OLED::setCursor(xPos + 12, 0); // need to reset this as if we drew a wide char - } else { - OLED::printNumber(V, 1); - } + // On TS80 we replace this symbol with the voltage we are operating on + // If <9V then show single digit, if not show duals + uint8_t V = getInputVoltageX10(systemSettings.voltageDiv, 0); + if (V % 10 >= 5) + V = V / 10 + 1; // round up + else + V = V / 10; + if (V >= 10) { + int16_t xPos = OLED::getCursorX(); + OLED::setFont(1); + OLED::printNumber(1, 1); + OLED::setCursor(xPos, 8); + OLED::printNumber(V % 10, 1); + OLED::setFont(0); + OLED::setCursor(xPos + 12, 0); // need to reset this as if we drew a wide char + } else { + OLED::printNumber(V, 1); + } #endif } static void gui_solderingTempAdjust() { @@ -372,27 +372,27 @@ static void gui_solderingTempAdjust() { #ifdef MODEL_TS80 if (!OLED::getRotation()) #else - if (OLED::getRotation()) + if (OLED::getRotation()) #endif - OLED::drawChar('-'); + OLED::print(SymbolMinus); else - OLED::drawChar('+'); + OLED::print(SymbolPlus); - OLED::drawChar(' '); + OLED::print(SymbolSpace); OLED::printNumber(systemSettings.SolderingTemp, 3); if (systemSettings.temperatureInF) OLED::drawSymbol(0); else OLED::drawSymbol(1); - OLED::drawChar(' '); + OLED::print(SymbolSpace); #ifdef MODEL_TS80 if (!OLED::getRotation()) #else - if (OLED::getRotation()) + if (OLED::getRotation()) #endif - OLED::drawChar('+'); + OLED::print(SymbolPlus); else - OLED::drawChar('-'); + OLED::print(SymbolMinus); OLED::refresh(); GUIDelay(); } @@ -415,7 +415,7 @@ static int gui_SolderingSleepingMode() { || (xTaskGetTickCount() - lastButtonTime < 100)) return 0; // user moved or pressed a button, go back to soldering #ifdef MODEL_TS100 - if (checkVoltageForExit()) + if (checkVoltageForExit()) return 1; // return non-zero on error #endif if (systemSettings.temperatureInF) { @@ -443,13 +443,13 @@ static int gui_SolderingSleepingMode() { OLED::print(SleepingTipAdvancedString); OLED::printNumber(tipTemp, 3); if (systemSettings.temperatureInF) - OLED::print("F"); + OLED::print(SymbolDegF); else - OLED::print("C"); + OLED::print(SymbolDegC); - OLED::print(" "); + OLED::print(SymbolSpace); printVoltage(); - OLED::drawChar('V'); + OLED::print(SymbolVolts); } else { OLED::setFont(0); OLED::print(SleepingSimpleString); @@ -484,10 +484,10 @@ static void display_countdown(int sleepThres) { int downCount = sleepThres - xTaskGetTickCount() + lastEventTime; if (downCount > 9900) { OLED::printNumber(downCount / 6000 + 1, 2); - OLED::print("M"); + OLED::print(SymbolMinutes); } else { OLED::printNumber(downCount / 100 + 1, 2); - OLED::print("S"); + OLED::print(SymbolSeconds); } } @@ -556,7 +556,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) { OLED::setFont(0); uint16_t tipTemp = getTipRawTemp(0); if (tipTemp > 32700) { - badTipCounter++;// Use a counter so that error has to persist for > 1 second continious so that peak errors dont trip it + badTipCounter++; // Use a counter so that error has to persist for > 1 second continious so that peak errors dont trip it } else { badTipCounter = 0; } @@ -565,28 +565,28 @@ static void gui_solderingMode(uint8_t jumpToSleep) { OLED::setFont(1); OLED::print(SolderingAdvancedPowerPrompt); // Power: OLED::printNumber(milliWattHistory[0] / 1000, 2); - OLED::drawChar('.'); + OLED::print(SymbolDot); OLED::printNumber(milliWattHistory[0] / 100 % 10, 1); - OLED::drawChar('W'); + OLED::print(SymbolWatts); if (systemSettings.sensitivity && systemSettings.SleepTime) { - OLED::print(" "); + OLED::print(SymbolSpace); display_countdown(sleepThres); } OLED::setCursor(0, 8); OLED::print(SleepingTipAdvancedString); gui_drawTipTemp(true); - OLED::print(" "); + OLED::print(SymbolSpace); printVoltage(); - OLED::drawChar('V'); + OLED::print(SymbolVolts); } else { // We switch the layout direction depending on the orientation of the // OLED:: if (OLED::getRotation()) { // battery gui_drawBatteryIcon(); - OLED::drawChar(' '); // Space out gap between battery <-> temp + OLED::print(SymbolSpace); // Space out gap between battery <-> temp gui_drawTipTemp(true); // Draw current tip temp // We draw boost arrow if boosting, or else gap temp <-> heat @@ -594,7 +594,7 @@ static void gui_solderingMode(uint8_t jumpToSleep) { if (boostModeOn) OLED::drawSymbol(2); else - OLED::drawChar(' '); + OLED::print(SymbolSpace); // Draw heating/cooling symbols OLED::drawHeatSymbol( @@ -610,10 +610,10 @@ static void gui_solderingMode(uint8_t jumpToSleep) { if (boostModeOn) OLED::drawSymbol(2); else - OLED::drawChar(' '); + OLED::print(SymbolSpace); gui_drawTipTemp(true); // Draw current tip temp - OLED::drawChar(' '); // Space out gap between battery <-> temp + OLED::print(SymbolSpace); // Space out gap between battery <-> temp gui_drawBatteryIcon(); } @@ -683,7 +683,7 @@ __DATE__, "Heap: ", "HWMG: ", "HWMP: ", "HWMM: ", "Time: ", "Move: ", "RTip: ", "Tm ", "Ralim-", #endif - }; + }; void showVersion(void) { uint8_t screen = 0; @@ -693,9 +693,9 @@ void showVersion(void) { OLED::setCursor(0, 0); // Position the cursor at the 0,0 (top left) OLED::setFont(1); // small font #ifdef MODEL_TS100 - OLED::print((char *) "V2.06 TS100"); // Print version number + OLED::print(SymbolVersionNumber); // Print version number #else - OLED::print((char *) "V2.06 TS80"); // Print version number + OLED::print(SymbolVersionNumber); // Print version number #endif OLED::setCursor(0, 8); // second line OLED::print(HEADERS[screen]); @@ -882,7 +882,7 @@ void startGUITask(void const *argument __unused) { #ifdef MODEL_TS80 if (!OLED::getRotation()) { #else - if (OLED::getRotation()) { + if (OLED::getRotation()) { #endif OLED::drawArea(12, 0, 84, 16, idleScreenBG); OLED::setCursor(0, 0); @@ -903,7 +903,7 @@ void startGUITask(void const *argument __unused) { #ifdef MODEL_TS80 if (!OLED::getRotation()) { #else - if (OLED::getRotation()) { + if (OLED::getRotation()) { #endif // in right handed mode we want to draw over the first part OLED::fillArea(55, 0, 41, 16, 0); // clear the area for the temp @@ -932,14 +932,14 @@ void startPIDTask(void const *argument __unused) { */ setTipMilliWatts(0); // disable the output driver if the output is set to be off #ifdef MODEL_TS80 - idealQCVoltage = calculateMaxVoltage(systemSettings.cutoutSetting); + idealQCVoltage = calculateMaxVoltage(systemSettings.cutoutSetting); #endif uint8_t rawC = ctoTipMeasurement(101) - ctoTipMeasurement(100); // 1*C change in raw. #ifdef MODEL_TS80 - //Set power management code to the tip resistance in ohms * 10 - setupPower(calculateTipR() / 100); - //size_t lastPowerPulse = 0; + //Set power management code to the tip resistance in ohms * 10 + setupPower(calculateTipR() / 100); + TickType_t lastPowerPulse = 0; #else setupPower(85); @@ -1013,18 +1013,16 @@ void startPIDTask(void const *argument __unused) { #ifdef MODEL_TS80 //If its a TS80, we want to have the option of using an occasional pulse to keep the power bank on - //~200ms @ a low wattage - //Doesnt keep all power banks awake but helps with some - /*if (xTaskGetTickCount() - lastPowerPulse < 20) { - // for the first 200mS turn on for a bit - setTipMilliWatts(4000); // typically its around 5W to hold the current temp, so this wont raise temp much - } else - setTipMilliWatts(0); - //Then wait until the next second - if (xTaskGetTickCount() - lastPowerPulse > 100) { - lastPowerPulse = xTaskGetTickCount(); - }*/ - setTipMilliWatts(0); + // This is purely guesswork :'( as everyone implements stuff differently + if (xTaskGetTickCount() - lastPowerPulse < 10) { + // for the first 100mS turn on for a bit + setTipMilliWatts(5000); // typically its around 5W to hold the current temp, so this wont raise temp much + } else + setTipMilliWatts(0); + //Then wait until the next 0.5 seconds + if (xTaskGetTickCount() - lastPowerPulse > 50) { + lastPowerPulse = xTaskGetTickCount(); + } #else setTipMilliWatts(0); #endif @@ -1048,9 +1046,9 @@ void startMOVTask(void const *argument __unused) { #ifdef MODEL_TS80 startQC(systemSettings.voltageDiv); while (pidTaskNotification == 0) - osDelay(20); // To ensure we return after idealQCVoltage/tip resistance + osDelay(30); // To ensure we return after idealQCVoltage/tip resistance - seekQC(idealQCVoltage, systemSettings.voltageDiv);// this will move the QC output to the preferred voltage to start with + seekQC(idealQCVoltage, systemSettings.voltageDiv); // this will move the QC output to the preferred voltage to start with #else osDelay(250); // wait for accelerometer to stabilize @@ -1103,29 +1101,6 @@ void startMOVTask(void const *argument __unused) { // Sum the deltas int32_t error = (abs(avgx - tx) + abs(avgy - ty) + abs(avgz - tz)); - -#if ACCELDEBUG - // Debug for Accel - - OLED::setFont(1); - OLED::setCursor(0, 0); - OLED::printNumber(abs(avgx - (int32_t)tx), 5); - OLED::print(" "); - OLED::printNumber(abs(avgy - (int32_t)ty), 5); - if (error > max) { - max = (abs(avgx - tx) + abs(avgy - ty) + abs(avgz - tz)); - } - OLED::setCursor(0, 8); - OLED::printNumber(max, 5); - OLED::print(" "); - - OLED::printNumber((abs(avgx - tx) + abs(avgy - ty) + abs(avgz - tz)), 5); - OLED::refresh(); - if (HAL_GPIO_ReadPin(KEY_A_GPIO_Port, KEY_A_Pin) == GPIO_PIN_RESET) { - max = 0; - } -#endif - // So now we have averages, we want to look if these are different by more // than the threshold @@ -1136,9 +1111,9 @@ void startMOVTask(void const *argument __unused) { osDelay(100); // Slow down update rate #ifdef MODEL_TS80 - if (currentlyActiveTemperatureTarget) { - seekQC(idealQCVoltage, systemSettings.voltageDiv); // Run the QC seek again to try and compensate for cable V drop - } + if (currentlyActiveTemperatureTarget) { + seekQC(idealQCVoltage, systemSettings.voltageDiv); // Run the QC seek again to try and compensate for cable V drop + } #endif } } diff --git a/workspace/TS100/src/power.cpp b/workspace/TS100/src/power.cpp index b2d315a8..d8bd0118 100644 --- a/workspace/TS100/src/power.cpp +++ b/workspace/TS100/src/power.cpp @@ -28,6 +28,8 @@ int32_t tempToMilliWatts(int32_t rawTemp, uint16_t mass, uint8_t rawC) { } void setTipMilliWatts(int32_t mw) { + //Enforce Max Watts Limiter # TODO + int32_t output = milliWattsToPWM(mw, systemSettings.voltageDiv / 10,1); setTipPWM(output); uint16_t actualMilliWatts = PWMToMilliWatts(output, diff --git a/workspace/TS100A/.cproject b/workspace/TS100A/.cproject index c706b83c..01717ce0 100644 --- a/workspace/TS100A/.cproject +++ b/workspace/TS100A/.cproject @@ -12,15 +12,15 @@ - + - -