summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/lcd-charset-player.c35
1 files changed, 18 insertions, 17 deletions
diff --git a/firmware/drivers/lcd-charset-player.c b/firmware/drivers/lcd-charset-player.c
index 35520788a0..a2b3d3969f 100644
--- a/firmware/drivers/lcd-charset-player.c
+++ b/firmware/drivers/lcd-charset-player.c
@@ -50,14 +50,14 @@ enum {
50 XF_OCIRCUMFLEX, XF_OTILDE, XF_ODIERESIS, XF_OSTROKE, 50 XF_OCIRCUMFLEX, XF_OTILDE, XF_ODIERESIS, XF_OSTROKE,
51 XF_UGRAVE, XF_UACUTE, XF_UCIRCUMFLEX, XF_UDIERESIS, 51 XF_UGRAVE, XF_UACUTE, XF_UCIRCUMFLEX, XF_UDIERESIS,
52 XF_YACUTE, XF_aGRAVE, XF_aACUTE, XF_aCIRCUMFLEX, 52 XF_YACUTE, XF_aGRAVE, XF_aACUTE, XF_aCIRCUMFLEX,
53 XF_aTILDE, XF_aDIERESIS, XF_aRING, XF_cCEDILLA, 53 XF_aTILDE, XF_aDIERESIS, XF_aRING, XF_aeLIGATURE,
54 XF_eGRAVE, XF_eACUTE, XF_eCIRCUMFLEX, XF_eDIERESIS, 54 XF_cCEDILLA, XF_eGRAVE, XF_eACUTE, XF_eCIRCUMFLEX,
55 XF_iGRAVE, XF_iACUTE, XF_iCIRCUMFLEX, XF_iDIERESIS, 55 XF_eDIERESIS, XF_iGRAVE, XF_iACUTE, XF_iCIRCUMFLEX,
56 XF_nTILDE, XF_oGRAVE, XF_oACUTE, XF_oCIRCUMFLEX, 56 XF_iDIERESIS, XF_nTILDE, XF_oGRAVE, XF_oACUTE,
57 XF_oTILDE, XF_oDIERESIS, XF_DIVISION, XF_oSLASH, 57 XF_oCIRCUMFLEX, XF_oTILDE, XF_oDIERESIS, XF_DIVISION,
58 XF_uGRAVE, XF_uACUTE, XF_uCIRCUMFLEX, XF_uDIERESIS, 58 XF_oSLASH, XF_uGRAVE, XF_uACUTE, XF_uCIRCUMFLEX,
59 XF_yACUTE, XF_yDIERESIS, 59 XF_uDIERESIS, XF_yACUTE, XF_yDIERESIS,
60 60
61 /* Latin extended A */ 61 /* Latin extended A */
62 XF_aBREVE, XF_aOGONEK, XF_cACUTE, XF_cCARON, 62 XF_aBREVE, XF_aOGONEK, XF_cACUTE, XF_cCARON,
63 XF_dCARON, XF_dSTROKE, XF_eOGONEK, XF_eCARON, 63 XF_dCARON, XF_dSTROKE, XF_eOGONEK, XF_eCARON,
@@ -264,7 +264,7 @@ const struct xchar_info xchar_info_newlcd[] = {
264 { 0xd5, XF_OTILDE, 1, 0x4f }, /* Õ (O tilde) */ 264 { 0xd5, XF_OTILDE, 1, 0x4f }, /* Õ (O tilde) */
265 { 0xd6, XF_ODIERESIS, 1, 0x4f }, /* Ö (O dieresis) */ 265 { 0xd6, XF_ODIERESIS, 1, 0x4f }, /* Ö (O dieresis) */
266 { 0xd7, 0, 0, 0x96 }, /* × (multiplication sign) */ 266 { 0xd7, 0, 0, 0x96 }, /* × (multiplication sign) */
267 { 0xd8, XF_OSTROKE, 1, 0x4f }, /* Ø (O stroke) */ 267 { 0xd8, XF_OSTROKE, 1, 0x30 }, /* Ø (O stroke) */
268 { 0xd9, XF_UGRAVE, 1, 0x55 }, /* Ù (U grave) */ 268 { 0xd9, XF_UGRAVE, 1, 0x55 }, /* Ù (U grave) */
269 { 0xda, XF_UACUTE, 1, 0x55 }, /* Ú (U acute) */ 269 { 0xda, XF_UACUTE, 1, 0x55 }, /* Ú (U acute) */
270 { 0xdb, XF_UCIRCUMFLEX, 1, 0x55 }, /* Û (U circumflex) */ 270 { 0xdb, XF_UCIRCUMFLEX, 1, 0x55 }, /* Û (U circumflex) */
@@ -278,7 +278,7 @@ const struct xchar_info xchar_info_newlcd[] = {
278 { 0xe3, XF_aTILDE, 1, 0x61 }, /* ã (a tilde) */ 278 { 0xe3, XF_aTILDE, 1, 0x61 }, /* ã (a tilde) */
279 { 0xe4, XF_aDIERESIS, 1, 0x61 }, /* ä (a dieresis) */ 279 { 0xe4, XF_aDIERESIS, 1, 0x61 }, /* ä (a dieresis) */
280 { 0xe5, XF_aRING, 1, 0x61 }, /* å (a with ring above) */ 280 { 0xe5, XF_aRING, 1, 0x61 }, /* å (a with ring above) */
281 281 { 0xe6, XF_aeLIGATURE, 1, 0x61 }, /* æ (ae ligature) */
282 { 0xe7, XF_cCEDILLA, 1, 0x63 }, /* ç (c cedilla) */ 282 { 0xe7, XF_cCEDILLA, 1, 0x63 }, /* ç (c cedilla) */
283 { 0xe8, XF_eGRAVE, 1, 0x65 }, /* è (e grave) */ 283 { 0xe8, XF_eGRAVE, 1, 0x65 }, /* è (e grave) */
284 { 0xe9, XF_eACUTE, 1, 0x65 }, /* é (e acute) */ 284 { 0xe9, XF_eACUTE, 1, 0x65 }, /* é (e acute) */
@@ -780,7 +780,7 @@ const struct xchar_info xchar_info_oldlcd[] = {
780 { 0xe3, 0, 0, 0x9e }, /* ã (a tilde) */ 780 { 0xe3, 0, 0, 0x9e }, /* ã (a tilde) */
781 { 0xe4, 0, 0, 0x7f }, /* ä (a dieresis) */ 781 { 0xe4, 0, 0, 0x7f }, /* ä (a dieresis) */
782 { 0xe5, 0, 0, 0x13 }, /* å (a with ring above) */ 782 { 0xe5, 0, 0, 0x13 }, /* å (a with ring above) */
783 783 { 0xe6, 0, 0, 0x21 }, /* æ (ae ligature */
784 { 0xe7, 0, 0, 0x84 }, /* ç (c cedilla) */ 784 { 0xe7, 0, 0, 0x84 }, /* ç (c cedilla) */
785 { 0xe8, 0, 0, 0x08 }, /* è (e grave) */ 785 { 0xe8, 0, 0, 0x08 }, /* è (e grave) */
786 { 0xe9, 0, 0, 0x09 }, /* é (e acute) */ 786 { 0xe9, 0, 0, 0x09 }, /* é (e acute) */
@@ -881,11 +881,11 @@ const struct xchar_info xchar_info_oldlcd[] = {
881 { 0x03a9, 0, 0, 0x19 }, /* greek OMEGA */ 881 { 0x03a9, 0, 0, 0x19 }, /* greek OMEGA */
882 { 0x03aa, 0, 0, 0x4d }, /* greek IOTA with dialytica */ 882 { 0x03aa, 0, 0, 0x4d }, /* greek IOTA with dialytica */
883 { 0x03ab, 0, 0, 0x5d }, /* greek UPSILON with dialytica */ 883 { 0x03ab, 0, 0, 0x5d }, /* greek UPSILON with dialytica */
884 { 0x03ac, XF_GR_alphaTONOS, 1, 0x65 }, /* greek alpha with tonos */ 884 { 0x03ac, XF_GR_alphaTONOS, 1, 0x9c }, /* greek alpha with tonos */
885 { 0x03ad, XF_GR_epsilonTONOS, 1, 0x69 }, /* greek epsilon with tonos */ 885 { 0x03ad, XF_GR_epsilonTONOS, 1, 0x69 }, /* greek epsilon with tonos */
886 { 0x03ae, XF_GR_etaTONOS, 1, 0x72 }, /* greek eta with tonos */ 886 { 0x03ae, XF_GR_etaTONOS, 1, 0x72 }, /* greek eta with tonos */
887 { 0x03af, 0, 0, 0xa1 }, /* greek iota with tonos */ 887 { 0x03af, 0, 0, 0xa1 }, /* greek iota with tonos */
888 { 0x03b0, XF_GR_upsilonTONOS, 1, 0x79 }, /* greek upsilon with dialytica + tonos */ 888 { 0x03b0, XF_GR_upsilonTONOS, 1, 0xa7 }, /* greek upsilon with dialytica + tonos */
889 { 0x03b1, XF_GR_alpha, 1, 0x65 }, /* greek alpha */ 889 { 0x03b1, XF_GR_alpha, 1, 0x65 }, /* greek alpha */
890 { 0x03b2, 0, 0, 0x22 }, /* greek beta */ 890 { 0x03b2, 0, 0, 0x22 }, /* greek beta */
891 { 0x03b3, XF_GR_gamma, 1, 0x7d }, /* greek gamma */ 891 { 0x03b3, XF_GR_gamma, 1, 0x7d }, /* greek gamma */
@@ -967,7 +967,7 @@ const struct xchar_info xchar_info_oldlcd[] = {
967 { 0x0436, XF_CYR_zhe, 1, 0x2e }, /* cyrillic zhe */ 967 { 0x0436, XF_CYR_zhe, 1, 0x2e }, /* cyrillic zhe */
968 { 0x0437, XF_CYR_ze, 1, 0x37 }, /* cyrillic ze */ 968 { 0x0437, XF_CYR_ze, 1, 0x37 }, /* cyrillic ze */
969 { 0x0438, XF_CYR_i, 1, 0x79 }, /* cyrillic i */ 969 { 0x0438, XF_CYR_i, 1, 0x79 }, /* cyrillic i */
970 { 0x0439, XF_CYR_SHORTi, 1, 0xc9 }, /* cyrillic short i */ 970 { 0x0439, XF_CYR_SHORTi, 1, 0xa7 }, /* cyrillic short i */
971 { 0x043a, XF_CYR_ka, 1, 0x6f }, /* cyrillic ka */ 971 { 0x043a, XF_CYR_ka, 1, 0x6f }, /* cyrillic ka */
972 { 0x043b, XF_CYR_el, 1, 0x18 }, /* cyrillic el */ 972 { 0x043b, XF_CYR_el, 1, 0x18 }, /* cyrillic el */
973 { 0x043c, XF_CYR_em, 1, 0x71 }, /* cyrillic em */ 973 { 0x043c, XF_CYR_em, 1, 0x71 }, /* cyrillic em */
@@ -1123,6 +1123,7 @@ const unsigned char xfont_fixed[][HW_PATTERN_SIZE] = {
1123 [XF_aTILDE] = { 0x0d, 0x12, 0x0e, 0x01, 0x0f, 0x11, 0x0f}, /* ã */ 1123 [XF_aTILDE] = { 0x0d, 0x12, 0x0e, 0x01, 0x0f, 0x11, 0x0f}, /* ã */
1124 [XF_aDIERESIS] = { 0x0a, 0x00, 0x0e, 0x01, 0x0f, 0x11, 0x0f}, /* ä */ 1124 [XF_aDIERESIS] = { 0x0a, 0x00, 0x0e, 0x01, 0x0f, 0x11, 0x0f}, /* ä */
1125 [XF_aRING] = { 0x04, 0x0a, 0x0e, 0x01, 0x0f, 0x11, 0x0f}, /* å */ 1125 [XF_aRING] = { 0x04, 0x0a, 0x0e, 0x01, 0x0f, 0x11, 0x0f}, /* å */
1126 [XF_aeLIGATURE] = { 0x00, 0x00, 0x1a, 0x05, 0x0f, 0x14, 0x0f}, /* æ */
1126 [XF_cCEDILLA] = { 0x00, 0x0f, 0x10, 0x10, 0x0f, 0x02, 0x04}, /* ç */ 1127 [XF_cCEDILLA] = { 0x00, 0x0f, 0x10, 0x10, 0x0f, 0x02, 0x04}, /* ç */
1127 [XF_eGRAVE] = { 0x08, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e}, /* è */ 1128 [XF_eGRAVE] = { 0x08, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e}, /* è */
1128 [XF_eACUTE] = { 0x02, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e}, /* é */ 1129 [XF_eACUTE] = { 0x02, 0x04, 0x0e, 0x11, 0x1f, 0x10, 0x0e}, /* é */
@@ -1217,8 +1218,8 @@ const unsigned char xfont_fixed[][HW_PATTERN_SIZE] = {
1217 [XF_CYR_CHE] = { 0x11, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01}, 1218 [XF_CYR_CHE] = { 0x11, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01},
1218 [XF_CYR_SHA] = { 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x1f}, 1219 [XF_CYR_SHA] = { 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x1f},
1219 [XF_CYR_SHCHA] = { 0x15, 0x15, 0x15, 0x15, 0x15, 0x1f, 0x01}, 1220 [XF_CYR_SHCHA] = { 0x15, 0x15, 0x15, 0x15, 0x15, 0x1f, 0x01},
1220 [XF_CYR_HARD] = { 0x18, 0x08, 0x08, 0x0e, 0x09, 0x09, 0x0e}, 1221 [XF_CYR_HARD] = { 0x18, 0x08, 0x0e, 0x09, 0x09, 0x09, 0x0e},
1221 [XF_CYR_YERU] = { 0x11, 0x11, 0x11, 0x19, 0x15, 0x15, 0x19}, 1222 [XF_CYR_YERU] = { 0x11, 0x11, 0x19, 0x15, 0x15, 0x15, 0x19},
1222 [XF_CYR_E] = { 0x0e, 0x11, 0x01, 0x07, 0x01, 0x11, 0x0e}, 1223 [XF_CYR_E] = { 0x0e, 0x11, 0x01, 0x07, 0x01, 0x11, 0x0e},
1223 [XF_CYR_YU] = { 0x12, 0x15, 0x15, 0x1d, 0x15, 0x15, 0x12}, 1224 [XF_CYR_YU] = { 0x12, 0x15, 0x15, 0x1d, 0x15, 0x15, 0x12},
1224 [XF_CYR_YA] = { 0x0f, 0x11, 0x11, 0x0f, 0x05, 0x09, 0x11}, 1225 [XF_CYR_YA] = { 0x0f, 0x11, 0x11, 0x0f, 0x05, 0x09, 0x11},
@@ -1235,7 +1236,7 @@ const unsigned char xfont_fixed[][HW_PATTERN_SIZE] = {
1235 [XF_CYR_em] = { 0x00, 0x00, 0x11, 0x1b, 0x15, 0x11, 0x11}, 1236 [XF_CYR_em] = { 0x00, 0x00, 0x11, 0x1b, 0x15, 0x11, 0x11},
1236 [XF_CYR_en] = { 0x00, 0x00, 0x11, 0x11, 0x1f, 0x11, 0x11}, 1237 [XF_CYR_en] = { 0x00, 0x00, 0x11, 0x11, 0x1f, 0x11, 0x11},
1237 [XF_CYR_pe] = { 0x00, 0x00, 0x1f, 0x11, 0x11, 0x11, 0x11}, 1238 [XF_CYR_pe] = { 0x00, 0x00, 0x1f, 0x11, 0x11, 0x11, 0x11},
1238 [XF_CYR_te] = { 0x00, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x04}, 1239 [XF_CYR_te] = { 0x00, 0x00, 0x1f, 0x04, 0x04, 0x04, 0x02},
1239 [XF_CYR_tse] = { 0x00, 0x00, 0x11, 0x11, 0x11, 0x1f, 0x01}, 1240 [XF_CYR_tse] = { 0x00, 0x00, 0x11, 0x11, 0x11, 0x1f, 0x01},
1240 [XF_CYR_che] = { 0x00, 0x00, 0x11, 0x11, 0x0f, 0x01, 0x01}, 1241 [XF_CYR_che] = { 0x00, 0x00, 0x11, 0x11, 0x0f, 0x01, 0x01},
1241 [XF_CYR_sha] = { 0x00, 0x00, 0x15, 0x15, 0x15, 0x15, 0x1f}, 1242 [XF_CYR_sha] = { 0x00, 0x00, 0x15, 0x15, 0x15, 0x15, 0x1f},