Make DriverView fields more modular
This commit is contained in:
		@ -369,6 +369,7 @@ TouchGFX/generated/texts/src/Texts.cpp \
 | 
				
			|||||||
TouchGFX/generated/texts/src/TypedTextDatabase.cpp \
 | 
					TouchGFX/generated/texts/src/TypedTextDatabase.cpp \
 | 
				
			||||||
TouchGFX/gui/src/ami_screen/AMIPresenter.cpp \
 | 
					TouchGFX/gui/src/ami_screen/AMIPresenter.cpp \
 | 
				
			||||||
TouchGFX/gui/src/ami_screen/AMIView.cpp \
 | 
					TouchGFX/gui/src/ami_screen/AMIView.cpp \
 | 
				
			||||||
 | 
					TouchGFX/gui/src/common/DataField.cpp \
 | 
				
			||||||
TouchGFX/gui/src/common/FrontendApplication.cpp \
 | 
					TouchGFX/gui/src/common/FrontendApplication.cpp \
 | 
				
			||||||
TouchGFX/gui/src/containers/DriverViewField.cpp \
 | 
					TouchGFX/gui/src/containers/DriverViewField.cpp \
 | 
				
			||||||
TouchGFX/gui/src/containers/MissionSelectElement.cpp \
 | 
					TouchGFX/gui/src/containers/MissionSelectElement.cpp \
 | 
				
			||||||
 | 
				
			|||||||
@ -5,6 +5,72 @@
 | 
				
			|||||||
  </Languages>
 | 
					  </Languages>
 | 
				
			||||||
  <Texts>
 | 
					  <Texts>
 | 
				
			||||||
    <TextGroup Id="DriverViewFields">
 | 
					    <TextGroup Id="DriverViewFields">
 | 
				
			||||||
 | 
					      <Text Id="Field_BBal" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">BBAL</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TSVOLTVEH" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TSVVEH</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TSVOLTBAT" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TSVBAT</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_LVSoC" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">LVSOC</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TSSoC" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TSSOC</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_MaxCellTemp" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TMAX</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TireFL" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TTFL</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TireFR" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TTFR</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TireRL" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TTRL</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TireRR" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TTRR</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_LapCount" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">LAPS</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_IniChkState" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">ICSTATE</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_Err" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">ERROR</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_SDC" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">SDC</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_INVRReady" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">INVRRDY</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_INVLReady" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">INVLRDY</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_R2DProgress" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">R2DPROG</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_ActiveMission" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">MISSION</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_ASState" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">ASSTATE</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="Field_TSState" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
 | 
					        <Translation Language="GB">TSSTATE</Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="NumberWildcard" Alignment="Center" TypographyId="Numbers">
 | 
				
			||||||
 | 
					        <Translation Language="GB"><value></Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
 | 
					      <Text Id="DefaultWildcard" Alignment="Center" TypographyId="Default">
 | 
				
			||||||
 | 
					        <Translation Language="GB"><value></Translation>
 | 
				
			||||||
 | 
					      </Text>
 | 
				
			||||||
      <Text Id="Field_TSCurrent" Alignment="Center" TypographyId="Chinat_Small">
 | 
					      <Text Id="Field_TSCurrent" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
        <Translation Language="GB">ITS</Translation>
 | 
					        <Translation Language="GB">ITS</Translation>
 | 
				
			||||||
      </Text>
 | 
					      </Text>
 | 
				
			||||||
@ -62,9 +128,6 @@
 | 
				
			|||||||
      </Text>
 | 
					      </Text>
 | 
				
			||||||
    </TextGroup>
 | 
					    </TextGroup>
 | 
				
			||||||
    <TextGroup Id="Unsorted">
 | 
					    <TextGroup Id="Unsorted">
 | 
				
			||||||
      <Text Id="__SingleUse_K26P" Alignment="Center" TypographyId="Numbers">
 | 
					 | 
				
			||||||
        <Translation Language="GB"><value></Translation>
 | 
					 | 
				
			||||||
      </Text>
 | 
					 | 
				
			||||||
      <Text Id="__SingleUse_0FBJ" Alignment="Center" TypographyId="Chinat_Small">
 | 
					      <Text Id="__SingleUse_0FBJ" Alignment="Center" TypographyId="Chinat_Small">
 | 
				
			||||||
        <Translation Language="GB">FIELD</Translation>
 | 
					        <Translation Language="GB">FIELD</Translation>
 | 
				
			||||||
      </Text>
 | 
					      </Text>
 | 
				
			||||||
@ -92,7 +155,7 @@
 | 
				
			|||||||
    </TextGroup>
 | 
					    </TextGroup>
 | 
				
			||||||
  </Texts>
 | 
					  </Texts>
 | 
				
			||||||
  <Typographies>
 | 
					  <Typographies>
 | 
				
			||||||
    <Typography Id="Default" Font="verdana.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
					    <Typography Id="Default" Font="verdana.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" WildcardCharacters="! "" WildcardCharacterRanges="#-~" />
 | 
				
			||||||
    <Typography Id="Chinat_Large" Font="CHINN___.ttf" Size="30" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
					    <Typography Id="Chinat_Large" Font="CHINN___.ttf" Size="30" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
				
			||||||
    <Typography Id="Chinat_Small" Font="CHINN___.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
					    <Typography Id="Chinat_Small" Font="CHINN___.ttf" Size="20" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
				
			||||||
    <Typography Id="Chinat_Huge" Font="CHINN___.ttf" Size="40" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
					    <Typography Id="Chinat_Huge" Font="CHINN___.ttf" Size="40" Bpp="4" Direction="LTR" FallbackCharacter="?" />
 | 
				
			||||||
 | 
				
			|||||||
@ -1,19 +1,26 @@
 | 
				
			|||||||
32
 | 
					32
 | 
				
			||||||
 | 
					50
 | 
				
			||||||
63
 | 
					63
 | 
				
			||||||
65
 | 
					65
 | 
				
			||||||
66
 | 
					66
 | 
				
			||||||
 | 
					67
 | 
				
			||||||
68
 | 
					68
 | 
				
			||||||
69
 | 
					69
 | 
				
			||||||
70
 | 
					70
 | 
				
			||||||
 | 
					71
 | 
				
			||||||
 | 
					72
 | 
				
			||||||
73
 | 
					73
 | 
				
			||||||
76
 | 
					76
 | 
				
			||||||
77
 | 
					77
 | 
				
			||||||
78
 | 
					78
 | 
				
			||||||
 | 
					79
 | 
				
			||||||
80
 | 
					80
 | 
				
			||||||
82
 | 
					82
 | 
				
			||||||
83
 | 
					83
 | 
				
			||||||
84
 | 
					84
 | 
				
			||||||
86
 | 
					86
 | 
				
			||||||
 | 
					88
 | 
				
			||||||
 | 
					89
 | 
				
			||||||
97
 | 
					97
 | 
				
			||||||
99
 | 
					99
 | 
				
			||||||
100
 | 
					100
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1,95 @@
 | 
				
			|||||||
63
 | 
					32
 | 
				
			||||||
 | 
					33
 | 
				
			||||||
 | 
					34
 | 
				
			||||||
 | 
					35
 | 
				
			||||||
 | 
					36
 | 
				
			||||||
 | 
					37
 | 
				
			||||||
 | 
					38
 | 
				
			||||||
 | 
					39
 | 
				
			||||||
 | 
					40
 | 
				
			||||||
 | 
					41
 | 
				
			||||||
 | 
					42
 | 
				
			||||||
 | 
					43
 | 
				
			||||||
 | 
					44
 | 
				
			||||||
 | 
					45
 | 
				
			||||||
 | 
					46
 | 
				
			||||||
 | 
					47
 | 
				
			||||||
 | 
					48
 | 
				
			||||||
 | 
					49
 | 
				
			||||||
 | 
					50
 | 
				
			||||||
 | 
					51
 | 
				
			||||||
 | 
					52
 | 
				
			||||||
 | 
					53
 | 
				
			||||||
 | 
					54
 | 
				
			||||||
 | 
					55
 | 
				
			||||||
 | 
					56
 | 
				
			||||||
 | 
					57
 | 
				
			||||||
 | 
					58
 | 
				
			||||||
 | 
					59
 | 
				
			||||||
 | 
					60
 | 
				
			||||||
 | 
					61
 | 
				
			||||||
 | 
					62
 | 
				
			||||||
 | 
					63
 | 
				
			||||||
 | 
					64
 | 
				
			||||||
 | 
					65
 | 
				
			||||||
 | 
					66
 | 
				
			||||||
 | 
					67
 | 
				
			||||||
 | 
					68
 | 
				
			||||||
 | 
					69
 | 
				
			||||||
 | 
					70
 | 
				
			||||||
 | 
					71
 | 
				
			||||||
 | 
					72
 | 
				
			||||||
 | 
					73
 | 
				
			||||||
 | 
					74
 | 
				
			||||||
 | 
					75
 | 
				
			||||||
 | 
					76
 | 
				
			||||||
 | 
					77
 | 
				
			||||||
 | 
					78
 | 
				
			||||||
 | 
					79
 | 
				
			||||||
 | 
					80
 | 
				
			||||||
 | 
					81
 | 
				
			||||||
 | 
					82
 | 
				
			||||||
 | 
					83
 | 
				
			||||||
 | 
					84
 | 
				
			||||||
 | 
					85
 | 
				
			||||||
 | 
					86
 | 
				
			||||||
 | 
					87
 | 
				
			||||||
 | 
					88
 | 
				
			||||||
 | 
					89
 | 
				
			||||||
 | 
					90
 | 
				
			||||||
 | 
					91
 | 
				
			||||||
 | 
					92
 | 
				
			||||||
 | 
					93
 | 
				
			||||||
 | 
					94
 | 
				
			||||||
 | 
					95
 | 
				
			||||||
 | 
					96
 | 
				
			||||||
 | 
					97
 | 
				
			||||||
 | 
					98
 | 
				
			||||||
 | 
					99
 | 
				
			||||||
 | 
					100
 | 
				
			||||||
 | 
					101
 | 
				
			||||||
 | 
					102
 | 
				
			||||||
 | 
					103
 | 
				
			||||||
 | 
					104
 | 
				
			||||||
 | 
					105
 | 
				
			||||||
 | 
					106
 | 
				
			||||||
 | 
					107
 | 
				
			||||||
 | 
					108
 | 
				
			||||||
 | 
					109
 | 
				
			||||||
 | 
					110
 | 
				
			||||||
 | 
					111
 | 
				
			||||||
 | 
					112
 | 
				
			||||||
 | 
					113
 | 
				
			||||||
 | 
					114
 | 
				
			||||||
 | 
					115
 | 
				
			||||||
 | 
					116
 | 
				
			||||||
 | 
					117
 | 
				
			||||||
 | 
					118
 | 
				
			||||||
 | 
					119
 | 
				
			||||||
 | 
					120
 | 
				
			||||||
 | 
					121
 | 
				
			||||||
 | 
					122
 | 
				
			||||||
 | 
					123
 | 
				
			||||||
 | 
					124
 | 
				
			||||||
 | 
					125
 | 
				
			||||||
 | 
					126
 | 
				
			||||||
@ -1,20 +1,27 @@
 | 
				
			|||||||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
 | 
					AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
 | 
				
			||||||
32
 | 
					32
 | 
				
			||||||
 | 
					50
 | 
				
			||||||
63
 | 
					63
 | 
				
			||||||
65
 | 
					65
 | 
				
			||||||
66
 | 
					66
 | 
				
			||||||
 | 
					67
 | 
				
			||||||
68
 | 
					68
 | 
				
			||||||
69
 | 
					69
 | 
				
			||||||
70
 | 
					70
 | 
				
			||||||
 | 
					71
 | 
				
			||||||
 | 
					72
 | 
				
			||||||
73
 | 
					73
 | 
				
			||||||
76
 | 
					76
 | 
				
			||||||
77
 | 
					77
 | 
				
			||||||
78
 | 
					78
 | 
				
			||||||
 | 
					79
 | 
				
			||||||
80
 | 
					80
 | 
				
			||||||
82
 | 
					82
 | 
				
			||||||
83
 | 
					83
 | 
				
			||||||
84
 | 
					84
 | 
				
			||||||
86
 | 
					86
 | 
				
			||||||
 | 
					88
 | 
				
			||||||
 | 
					89
 | 
				
			||||||
97
 | 
					97
 | 
				
			||||||
99
 | 
					99
 | 
				
			||||||
100
 | 
					100
 | 
				
			||||||
 | 
				
			|||||||
@ -1,2 +1,96 @@
 | 
				
			|||||||
AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
 | 
					AH:0 BA:1 FC:63 EC:0 FF:0 CF:1
 | 
				
			||||||
 | 
					32
 | 
				
			||||||
 | 
					33
 | 
				
			||||||
 | 
					34
 | 
				
			||||||
 | 
					35
 | 
				
			||||||
 | 
					36
 | 
				
			||||||
 | 
					37
 | 
				
			||||||
 | 
					38
 | 
				
			||||||
 | 
					39
 | 
				
			||||||
 | 
					40
 | 
				
			||||||
 | 
					41
 | 
				
			||||||
 | 
					42
 | 
				
			||||||
 | 
					43
 | 
				
			||||||
 | 
					44
 | 
				
			||||||
 | 
					45
 | 
				
			||||||
 | 
					46
 | 
				
			||||||
 | 
					47
 | 
				
			||||||
 | 
					48
 | 
				
			||||||
 | 
					49
 | 
				
			||||||
 | 
					50
 | 
				
			||||||
 | 
					51
 | 
				
			||||||
 | 
					52
 | 
				
			||||||
 | 
					53
 | 
				
			||||||
 | 
					54
 | 
				
			||||||
 | 
					55
 | 
				
			||||||
 | 
					56
 | 
				
			||||||
 | 
					57
 | 
				
			||||||
 | 
					58
 | 
				
			||||||
 | 
					59
 | 
				
			||||||
 | 
					60
 | 
				
			||||||
 | 
					61
 | 
				
			||||||
 | 
					62
 | 
				
			||||||
63
 | 
					63
 | 
				
			||||||
 | 
					64
 | 
				
			||||||
 | 
					65
 | 
				
			||||||
 | 
					66
 | 
				
			||||||
 | 
					67
 | 
				
			||||||
 | 
					68
 | 
				
			||||||
 | 
					69
 | 
				
			||||||
 | 
					70
 | 
				
			||||||
 | 
					71
 | 
				
			||||||
 | 
					72
 | 
				
			||||||
 | 
					73
 | 
				
			||||||
 | 
					74
 | 
				
			||||||
 | 
					75
 | 
				
			||||||
 | 
					76
 | 
				
			||||||
 | 
					77
 | 
				
			||||||
 | 
					78
 | 
				
			||||||
 | 
					79
 | 
				
			||||||
 | 
					80
 | 
				
			||||||
 | 
					81
 | 
				
			||||||
 | 
					82
 | 
				
			||||||
 | 
					83
 | 
				
			||||||
 | 
					84
 | 
				
			||||||
 | 
					85
 | 
				
			||||||
 | 
					86
 | 
				
			||||||
 | 
					87
 | 
				
			||||||
 | 
					88
 | 
				
			||||||
 | 
					89
 | 
				
			||||||
 | 
					90
 | 
				
			||||||
 | 
					91
 | 
				
			||||||
 | 
					92
 | 
				
			||||||
 | 
					93
 | 
				
			||||||
 | 
					94
 | 
				
			||||||
 | 
					95
 | 
				
			||||||
 | 
					96
 | 
				
			||||||
 | 
					97
 | 
				
			||||||
 | 
					98
 | 
				
			||||||
 | 
					99
 | 
				
			||||||
 | 
					100
 | 
				
			||||||
 | 
					101
 | 
				
			||||||
 | 
					102
 | 
				
			||||||
 | 
					103
 | 
				
			||||||
 | 
					104
 | 
				
			||||||
 | 
					105
 | 
				
			||||||
 | 
					106
 | 
				
			||||||
 | 
					107
 | 
				
			||||||
 | 
					108
 | 
				
			||||||
 | 
					109
 | 
				
			||||||
 | 
					110
 | 
				
			||||||
 | 
					111
 | 
				
			||||||
 | 
					112
 | 
				
			||||||
 | 
					113
 | 
				
			||||||
 | 
					114
 | 
				
			||||||
 | 
					115
 | 
				
			||||||
 | 
					116
 | 
				
			||||||
 | 
					117
 | 
				
			||||||
 | 
					118
 | 
				
			||||||
 | 
					119
 | 
				
			||||||
 | 
					120
 | 
				
			||||||
 | 
					121
 | 
				
			||||||
 | 
					122
 | 
				
			||||||
 | 
					123
 | 
				
			||||||
 | 
					124
 | 
				
			||||||
 | 
					125
 | 
				
			||||||
 | 
					126
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,16 @@ FONT_GLYPH_LOCATION_FLASH_PRAGMA
 | 
				
			|||||||
KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
 | 
					KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			||||||
    // Unicode: [0x0020, space]
 | 
					    // Unicode: [0x0020, space]
 | 
				
			||||||
    // (Has no glyph data)
 | 
					    // (Has no glyph data)
 | 
				
			||||||
 | 
					    // Unicode: [0x0032, two]
 | 
				
			||||||
 | 
					    0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAE, 0x01, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0x0B, 0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x32, 0x33,
 | 
				
			||||||
 | 
					    0x33, 0x33, 0x33, 0x33, 0x33, 0x53, 0xFF, 0x4F, 0x00, 0x20, 0x33, 0x33, 0x33, 0x33, 0x33, 0x53,
 | 
				
			||||||
 | 
					    0xFF, 0x4F, 0x20, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F, 0xC0, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAF, 0x01,
 | 
				
			||||||
 | 
					    0xF6, 0xFF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x34, 0x33, 0x33, 0x33,
 | 
				
			||||||
 | 
					    0x33, 0x33, 0x33, 0x03, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF6, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F, 0xF6, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0x0F,
 | 
				
			||||||
    // Unicode: [0x003F, question]
 | 
					    // Unicode: [0x003F, question]
 | 
				
			||||||
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
    0xFF, 0xFF, 0xFF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x44, 0x44,
 | 
					    0xFF, 0xFF, 0xFF, 0x1C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x8F, 0x44, 0x44,
 | 
				
			||||||
@ -34,6 +44,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
 | 
				
			|||||||
    0x44, 0x44, 0xFB, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xFF,
 | 
					    0x44, 0x44, 0xFB, 0xFF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0xF7, 0xFF,
 | 
				
			||||||
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
    0x9E, 0x02,
 | 
					    0x9E, 0x02,
 | 
				
			||||||
 | 
					    // Unicode: [0x0043, C]
 | 
				
			||||||
 | 
					    0x00, 0xB5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xCF, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF5, 0xFF,
 | 
				
			||||||
 | 
					    0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
 | 
				
			||||||
 | 
					    0x44, 0x44, 0x44, 0x34, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x70, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x00, 0xC5, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xCF,
 | 
				
			||||||
    // Unicode: [0x0044, D]
 | 
					    // Unicode: [0x0044, D]
 | 
				
			||||||
    0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x5C, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
					    0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF, 0x5C, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
    0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
 | 
					    0xFF, 0xFF, 0xFF, 0x08, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
 | 
				
			||||||
@ -64,6 +84,26 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
 | 
				
			|||||||
    0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF,
 | 
					    0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF,
 | 
				
			||||||
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
    0x00, 0x00,
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0047, G]
 | 
				
			||||||
 | 
					    0x00, 0x93, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0x70, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xCF, 0xF3, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCF, 0xF6, 0xFF,
 | 
				
			||||||
 | 
					    0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x34, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x43, 0x44, 0x44,
 | 
				
			||||||
 | 
					    0x44, 0x34, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF, 0xF7, 0xFF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0xCF,
 | 
				
			||||||
 | 
					    0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
 | 
				
			||||||
 | 
					    0x44, 0x44, 0xFC, 0xAF, 0xE1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x50, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0A, 0x00, 0xA3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xEF,
 | 
				
			||||||
 | 
					    0x6C, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0048, H]
 | 
				
			||||||
 | 
					    0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
 | 
				
			||||||
 | 
					    0xFB, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
 | 
				
			||||||
 | 
					    0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF9, 0xDF, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF9, 0xDF,
 | 
				
			||||||
    // Unicode: [0x0049, I]
 | 
					    // Unicode: [0x0049, I]
 | 
				
			||||||
    0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
 | 
					    0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
 | 
				
			||||||
    0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
 | 
					    0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF, 0xF7, 0xFF,
 | 
				
			||||||
@ -97,6 +137,16 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
 | 
				
			|||||||
    0xFF, 0x9F, 0xFF, 0x6F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x40, 0xFE, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
 | 
					    0xFF, 0x9F, 0xFF, 0x6F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x40, 0xFE, 0xFF, 0xFF, 0x4F, 0xF7, 0xFF,
 | 
				
			||||||
    0x00, 0x00, 0x00, 0x00, 0xE3, 0xFF, 0xFF, 0x0C, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x20, 0xEA,
 | 
					    0x00, 0x00, 0x00, 0x00, 0xE3, 0xFF, 0xFF, 0x0C, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x20, 0xEA,
 | 
				
			||||||
    0xAE, 0x02,
 | 
					    0xAE, 0x02,
 | 
				
			||||||
 | 
					    // Unicode: [0x004F, O]
 | 
				
			||||||
 | 
					    0x00, 0xB3, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x5C, 0x00, 0x60, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0x07, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2F, 0xF6, 0xFF,
 | 
				
			||||||
 | 
					    0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0xFE, 0x7F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F, 0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F,
 | 
				
			||||||
 | 
					    0xF7, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8F, 0xF6, 0xFF, 0x44, 0x44, 0x44, 0x44,
 | 
				
			||||||
 | 
					    0x44, 0x44, 0xFE, 0x7F, 0xF2, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0x70, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0x00, 0xC5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0x5C, 0x00,
 | 
				
			||||||
    // Unicode: [0x0050, P]
 | 
					    // Unicode: [0x0050, P]
 | 
				
			||||||
    0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x02, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
					    0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9D, 0x02, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
    0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0x3E, 0x00, 0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xDF,
 | 
				
			||||||
@ -147,6 +197,26 @@ KEEP extern const uint8_t unicodes_CHINN____20_4bpp_0[] FONT_GLYPH_LOCATION_FLAS
 | 
				
			|||||||
    0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
					    0xDF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
    0x00, 0xC1, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE9, 0x7D, 0x00, 0x00,
 | 
					    0x00, 0xC1, 0xFF, 0xFF, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xE9, 0x7D, 0x00, 0x00,
 | 
				
			||||||
    0x00, 0x00,
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0058, X]
 | 
				
			||||||
 | 
					    0xFA, 0xFF, 0x1C, 0x00, 0x00, 0x00, 0x30, 0xFE, 0xFF, 0x06, 0xB0, 0xFF, 0xBF, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xE2, 0xFF, 0x6F, 0x00, 0x00, 0xFB, 0xFF, 0x09, 0x00, 0x10, 0xFD, 0xFF, 0x07, 0x00, 0x00, 0xC1,
 | 
				
			||||||
 | 
					    0xFF, 0x8F, 0x00, 0xC1, 0xFF, 0x8F, 0x00, 0x00, 0x00, 0x10, 0xFD, 0xFF, 0x06, 0xFA, 0xFF, 0x09,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0x9F, 0xFF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0xFF, 0x9F, 0xFF, 0xAF, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x10, 0xFC, 0xFF, 0x07, 0xFB, 0xFF, 0x09, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0x9F, 0x00, 0xD1,
 | 
				
			||||||
 | 
					    0xFF, 0x7F, 0x00, 0x00, 0x00, 0xFA, 0xFF, 0x0B, 0x00, 0x20, 0xFE, 0xFF, 0x05, 0x00, 0x80, 0xFF,
 | 
				
			||||||
 | 
					    0xDF, 0x01, 0x00, 0x00, 0xF4, 0xFF, 0x4F, 0x00, 0xF6, 0xFF, 0x2E, 0x00, 0x00, 0x00, 0x50, 0xFF,
 | 
				
			||||||
 | 
					    0xEF, 0x03,
 | 
				
			||||||
 | 
					    // Unicode: [0x0059, Y]
 | 
				
			||||||
 | 
					    0xD1, 0xFF, 0x5F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x0B, 0x30, 0xFE, 0xFF, 0x03, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x60, 0xFF, 0xDF, 0x01, 0x00, 0xF5, 0xFF, 0x2E, 0x00, 0x00, 0xF4, 0xFF, 0x2E, 0x00, 0x00, 0x70,
 | 
				
			||||||
 | 
					    0xFF, 0xCF, 0x01, 0x20, 0xFE, 0xFF, 0x05, 0x00, 0x00, 0x00, 0xF9, 0xFF, 0x0A, 0xD1, 0xFF, 0x7F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0x8F, 0xFB, 0xFF, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x10, 0xFD,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xCF, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE2, 0xFF, 0xFF, 0x2E, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x40, 0xFF, 0xFF, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xBF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
    // Unicode: [0x0061, a]
 | 
					    // Unicode: [0x0061, a]
 | 
				
			||||||
    0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x01, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
					    0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x9E, 0x01, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
    0xFF, 0xFF, 0xFF, 0x0B, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x40, 0x44,
 | 
					    0xFF, 0xFF, 0xFF, 0x0B, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x6F, 0x40, 0x44,
 | 
				
			||||||
 | 
				
			|||||||
@ -2,10 +2,584 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
FONT_GLYPH_LOCATION_FLASH_PRAGMA
 | 
					FONT_GLYPH_LOCATION_FLASH_PRAGMA
 | 
				
			||||||
KEEP extern const uint8_t unicodes_verdana_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
 | 
					KEEP extern const uint8_t unicodes_verdana_20_4bpp_0[] FONT_GLYPH_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			||||||
 | 
					    // Unicode: [0x0020]
 | 
				
			||||||
 | 
					    // (Has no glyph data)
 | 
				
			||||||
 | 
					    // Unicode: [0x0021]
 | 
				
			||||||
 | 
					    0xF2, 0x0F, 0xF2, 0x0F, 0xF1, 0x0F, 0xF1, 0x0E, 0xF1, 0x0E, 0xF0, 0x0D, 0xF0, 0x0D, 0xF0, 0x0D,
 | 
				
			||||||
 | 
					    0xE0, 0x0C, 0xE0, 0x0C, 0x40, 0x04, 0x00, 0x00, 0xF1, 0x0E, 0xF1, 0x0E,
 | 
				
			||||||
 | 
					    // Unicode: [0x0022]
 | 
				
			||||||
 | 
					    0xF5, 0x0B, 0xF8, 0x08, 0xF4, 0x0A, 0xF7, 0x06, 0xF3, 0x09, 0xF6, 0x05, 0xF1, 0x07, 0xF5, 0x04,
 | 
				
			||||||
 | 
					    0xF0, 0x06, 0xF4, 0x03, 0x80, 0x03, 0x82, 0x01,
 | 
				
			||||||
 | 
					    // Unicode: [0x0023]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x8B, 0x00, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x4E, 0x10, 0x3F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0x1F, 0x50, 0x0E, 0x00, 0x00, 0x11, 0x81, 0x1C, 0x91, 0x1A, 0x01, 0x00, 0xFE, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0x7F, 0x00, 0x43, 0xF4, 0x46, 0xF5, 0x45, 0x24, 0x00, 0x00, 0xF4, 0x00, 0xE5, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xB7, 0x00, 0xA9, 0x00, 0x00, 0x10, 0x11, 0x8B, 0x11, 0x7C, 0x11, 0x00, 0xF1,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0x40, 0x74, 0x4F, 0x84, 0x4D, 0x44, 0x01, 0x00, 0x80, 0x0B,
 | 
				
			||||||
 | 
					    0x90, 0x09, 0x00, 0x00, 0x00, 0xC0, 0x07, 0xD0, 0x05, 0x00, 0x00, 0x00, 0xF1, 0x03, 0xF2, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0024]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x02,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xD6, 0xFF, 0xEF, 0x7C, 0x00, 0xB0, 0xAF, 0xF6, 0x76, 0xCC, 0x00, 0xF4, 0x09,
 | 
				
			||||||
 | 
					    0xF1, 0x01, 0x30, 0x00, 0xF6, 0x08, 0xF1, 0x01, 0x00, 0x00, 0xF2, 0x6E, 0xF2, 0x01, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x50, 0xFE, 0xFF, 0x7B, 0x02, 0x00, 0x00, 0x50, 0xF9, 0xFE, 0x7F, 0x00, 0x00, 0x00, 0xF1, 0x31,
 | 
				
			||||||
 | 
					    0xFE, 0x02, 0x00, 0x00, 0xF1, 0x01, 0xF9, 0x04, 0x44, 0x00, 0xF1, 0x01, 0xFC, 0x02, 0xF7, 0x9D,
 | 
				
			||||||
 | 
					    0xF8, 0xD8, 0x7F, 0x00, 0x82, 0xDB, 0xFE, 0xAD, 0x03, 0x00, 0x00, 0x00, 0xF1, 0x01, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x01, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0025]
 | 
				
			||||||
 | 
					    0x30, 0xEB, 0xBE, 0x03, 0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, 0xE1, 0x6D, 0xC5, 0x2E, 0x00, 0x10,
 | 
				
			||||||
 | 
					    0x8E, 0x00, 0x00, 0x00, 0xF6, 0x05, 0x40, 0x7F, 0x00, 0x90, 0x1E, 0x00, 0x00, 0x00, 0xF8, 0x03,
 | 
				
			||||||
 | 
					    0x20, 0x9F, 0x00, 0xF2, 0x07, 0x00, 0x00, 0x00, 0xF6, 0x04, 0x30, 0x8F, 0x00, 0xDA, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF2, 0x2B, 0xA2, 0x3F, 0x30, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x50, 0xFE, 0xEF, 0x06,
 | 
				
			||||||
 | 
					    0xC0, 0x0C, 0x70, 0xFD, 0x7D, 0x00, 0x00, 0x20, 0x02, 0x00, 0xF5, 0x04, 0xF8, 0x48, 0xF8, 0x08,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xBD, 0x00, 0xCE, 0x00, 0xD0, 0x0D, 0x00, 0x00, 0x00, 0x60, 0x3F, 0x10,
 | 
				
			||||||
 | 
					    0xAF, 0x00, 0xB0, 0x0F, 0x00, 0x00, 0x00, 0xE1, 0x0A, 0x10, 0xAF, 0x00, 0xB0, 0x0F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF7, 0x02, 0x00, 0xCE, 0x00, 0xD0, 0x0D, 0x00, 0x00, 0x10, 0x9E, 0x00, 0x00, 0xF8, 0x59,
 | 
				
			||||||
 | 
					    0xF9, 0x07, 0x00, 0x00, 0x90, 0x1E, 0x00, 0x00, 0x70, 0xED, 0x7D, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0026]
 | 
				
			||||||
 | 
					    0x00, 0xC7, 0xEF, 0x4B, 0x00, 0x00, 0x00, 0x80, 0xAF, 0x54, 0xFD, 0x04, 0x00, 0x00, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0xF6, 0x09, 0x00, 0x00, 0xF2, 0x0C, 0x00, 0xF5, 0x08, 0x00, 0x00, 0xC0, 0x6F, 0x00, 0xFB,
 | 
				
			||||||
 | 
					    0x02, 0x00, 0x00, 0x20, 0xFC, 0xDB, 0x3C, 0x20, 0x47, 0x00, 0x10, 0xDB, 0xEE, 0x04, 0x50, 0x8F,
 | 
				
			||||||
 | 
					    0x00, 0xD1, 0x1C, 0xE3, 0x5F, 0x50, 0x6F, 0x00, 0xF8, 0x05, 0x20, 0xFD, 0x66, 0x4F, 0x00, 0xFC,
 | 
				
			||||||
 | 
					    0x02, 0x00, 0xC1, 0xEF, 0x0D, 0x00, 0xFC, 0x05, 0x00, 0x10, 0xFB, 0x0B, 0x00, 0xF8, 0x1C, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0xDD, 0xAF, 0x00, 0xD1, 0xEF, 0x9A, 0xFB, 0x0A, 0xF9, 0x0A, 0x10, 0xD8, 0xEF, 0x5B, 0x00,
 | 
				
			||||||
 | 
					    0xA0, 0xAF,
 | 
				
			||||||
 | 
					    // Unicode: [0x0027]
 | 
				
			||||||
 | 
					    0xF5, 0x0B, 0xF4, 0x0A, 0xF3, 0x09, 0xF2, 0x07, 0xF1, 0x06, 0x80, 0x03,
 | 
				
			||||||
 | 
					    // Unicode: [0x0028]
 | 
				
			||||||
 | 
					    0x00, 0x10, 0xFD, 0x04, 0x00, 0xB0, 0x5F, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0xED, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x50, 0x9F, 0x00, 0x00, 0xA0, 0x3F, 0x00, 0x00, 0xE0, 0x0D, 0x00, 0x00, 0xF1, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF2, 0x08, 0x00, 0x00, 0xF3, 0x07, 0x00, 0x00, 0xF2, 0x08, 0x00, 0x00, 0xF1, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xE0, 0x0D, 0x00, 0x00, 0xA0, 0x3F, 0x00, 0x00, 0x50, 0x8F, 0x00, 0x00, 0x00, 0xED, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF5, 0x09, 0x00, 0x00, 0xB0, 0x4F, 0x00, 0x00, 0x10, 0xED, 0x03,
 | 
				
			||||||
 | 
					    // Unicode: [0x0029]
 | 
				
			||||||
 | 
					    0xE3, 0x2E, 0x00, 0x00, 0x30, 0xCF, 0x00, 0x00, 0x00, 0xF7, 0x07, 0x00, 0x00, 0xD0, 0x1E, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x70, 0x6F, 0x00, 0x00, 0x20, 0xBF, 0x00, 0x00, 0x00, 0xEC, 0x00, 0x00, 0x00, 0xF9, 0x02,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF7, 0x03, 0x00, 0x00, 0xF6, 0x04, 0x00, 0x00, 0xF7, 0x03, 0x00, 0x00, 0xF9, 0x02,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFC, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00, 0x70, 0x6F, 0x00, 0x00, 0xD1, 0x1E, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF9, 0x07, 0x00, 0x40, 0xCF, 0x00, 0x00, 0xE3, 0x2E, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x002A]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF4, 0x00, 0x00, 0x60, 0x00, 0xF3, 0x00, 0x51, 0xD2, 0x5D, 0xE3, 0x70, 0xBE, 0x00,
 | 
				
			||||||
 | 
					    0xE7, 0xFD, 0xCD, 0x05, 0x00, 0x30, 0xFE, 0x1C, 0x00, 0x10, 0xE9, 0xFB, 0xEB, 0x07, 0xE2, 0x3B,
 | 
				
			||||||
 | 
					    0xE3, 0x50, 0xDD, 0x40, 0x00, 0xF3, 0x00, 0x30, 0x00, 0x00, 0xD3, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x002B]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x88, 0x88, 0xC8, 0x8F, 0x88, 0x88, 0x02, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0x05, 0x00, 0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90,
 | 
				
			||||||
 | 
					    0x0F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x002C]
 | 
				
			||||||
 | 
					    0x00, 0x87, 0x04, 0x20, 0xFF, 0x03, 0x60, 0xBF, 0x00, 0xA0, 0x5F, 0x00, 0xE0, 0x0D, 0x00, 0xF3,
 | 
				
			||||||
 | 
					    0x07, 0x00, 0xF6, 0x01, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x002D]
 | 
				
			||||||
 | 
					    0xB6, 0xBB, 0xBB, 0x07, 0xF8, 0xFF, 0xFF, 0x09,
 | 
				
			||||||
 | 
					    // Unicode: [0x002E]
 | 
				
			||||||
 | 
					    0xB6, 0x09, 0xF8, 0x0C, 0xF8, 0x0C,
 | 
				
			||||||
 | 
					    // Unicode: [0x002F]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x80, 0x3F, 0x00, 0x00, 0x00, 0xD0, 0x0C, 0x00, 0x00, 0x00, 0xF4, 0x06, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFA, 0x01, 0x00, 0x00, 0x10, 0xAF, 0x00, 0x00, 0x00, 0x70, 0x4F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xD0, 0x0D, 0x00, 0x00, 0x00, 0xF3, 0x07, 0x00, 0x00, 0x00, 0xF9, 0x02, 0x00, 0x00, 0x10, 0xBE,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x60, 0x5F, 0x00, 0x00, 0x00, 0xC0, 0x0E, 0x00, 0x00, 0x00, 0xF2, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, 0x00, 0xBE, 0x00, 0x00, 0x00, 0x50, 0x5F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xB0, 0x1E, 0x00, 0x00, 0x00, 0xF2, 0x09, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0030]
 | 
				
			||||||
 | 
					    0x00, 0xA3, 0xFE, 0x9D, 0x01, 0x00, 0x40, 0xFF, 0x9B, 0xFC, 0x1D, 0x00, 0xD0, 0x4F, 0x00, 0x80,
 | 
				
			||||||
 | 
					    0x9F, 0x00, 0xF3, 0x0B, 0x00, 0x10, 0xEE, 0x00, 0xF7, 0x07, 0x00, 0x00, 0xFB, 0x03, 0xF9, 0x06,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFA, 0x05, 0xFA, 0x05, 0x00, 0x00, 0xF9, 0x05, 0xFA, 0x05, 0x00, 0x00, 0xF9, 0x05,
 | 
				
			||||||
 | 
					    0xF9, 0x06, 0x00, 0x00, 0xFA, 0x05, 0xF7, 0x07, 0x00, 0x00, 0xFB, 0x03, 0xF3, 0x0B, 0x00, 0x10,
 | 
				
			||||||
 | 
					    0xEF, 0x00, 0xD0, 0x4F, 0x00, 0x80, 0x9F, 0x00, 0x40, 0xFF, 0x9B, 0xFC, 0x1D, 0x00, 0x00, 0xA3,
 | 
				
			||||||
 | 
					    0xFE, 0x9D, 0x01, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0031]
 | 
				
			||||||
 | 
					    0x00, 0x10, 0x9F, 0x00, 0x00, 0x20, 0xB4, 0x9F, 0x00, 0x00, 0xF4, 0xFF, 0x9F, 0x00, 0x00, 0x41,
 | 
				
			||||||
 | 
					    0x64, 0x9F, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00, 0x40,
 | 
				
			||||||
 | 
					    0x9F, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00, 0x40, 0x9F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x72, 0x97, 0xCF, 0x77,
 | 
				
			||||||
 | 
					    0x04, 0xF4, 0xFF, 0xFF, 0xFF, 0x09,
 | 
				
			||||||
 | 
					    // Unicode: [0x0032]
 | 
				
			||||||
 | 
					    0x50, 0xDA, 0xFF, 0x8D, 0x01, 0x00, 0xF1, 0xDF, 0xBA, 0xFE, 0x1D, 0x00, 0x91, 0x02, 0x00, 0xB1,
 | 
				
			||||||
 | 
					    0x9F, 0x00, 0x00, 0x00, 0x00, 0x40, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x40, 0xAF, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x90, 0x6F, 0x00, 0x00, 0x00, 0x00, 0xF4, 0x1D, 0x00, 0x00, 0x00, 0x30, 0xEE, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xE4, 0x3E, 0x00, 0x00, 0x00, 0x50, 0xDF, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x1C, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xB1, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xF6, 0xAE, 0xAA, 0xAA, 0xAA, 0x04, 0xF6, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0x06,
 | 
				
			||||||
 | 
					    // Unicode: [0x0033]
 | 
				
			||||||
 | 
					    0x40, 0xC9, 0xFE, 0xAD, 0x04, 0x00, 0xE0, 0xDF, 0xAB, 0xFC, 0x6F, 0x00, 0x70, 0x02, 0x00, 0x60,
 | 
				
			||||||
 | 
					    0xDF, 0x00, 0x00, 0x00, 0x00, 0x30, 0xBF, 0x00, 0x00, 0x00, 0x10, 0xC4, 0x3E, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFF, 0x9F, 0x01, 0x00, 0x00, 0x00, 0xA9, 0xFC, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x60, 0xBF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xFD, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x10,
 | 
				
			||||||
 | 
					    0xFE, 0x01, 0x85, 0x02, 0x00, 0xA1, 0xAF, 0x00, 0xF6, 0xCF, 0xBA, 0xFE, 0x1D, 0x00, 0x61, 0xDA,
 | 
				
			||||||
 | 
					    0xEF, 0x7C, 0x01, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0034]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xA0, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x9F, 0x00, 0x00, 0x00, 0x70, 0xBF,
 | 
				
			||||||
 | 
					    0x9F, 0x00, 0x00, 0x00, 0xF5, 0x48, 0x9F, 0x00, 0x00, 0x40, 0xAF, 0x40, 0x9F, 0x00, 0x00, 0xE3,
 | 
				
			||||||
 | 
					    0x0B, 0x40, 0x9F, 0x00, 0x20, 0xCE, 0x01, 0x40, 0x9F, 0x00, 0xD1, 0x1D, 0x00, 0x40, 0x9F, 0x00,
 | 
				
			||||||
 | 
					    0xF4, 0x8A, 0x88, 0xA8, 0xCF, 0x68, 0xF4, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0x00, 0x00, 0x40,
 | 
				
			||||||
 | 
					    0x9F, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00, 0x00, 0x40, 0x9F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x40, 0x9F, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0035]
 | 
				
			||||||
 | 
					    0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x80, 0xCF, 0xAA, 0xAA, 0xAA, 0x02, 0x80, 0x5F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x80, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x80, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x80, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xAD, 0x03, 0x00, 0x70, 0xAB, 0xA9, 0xFD, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x70, 0xEF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x04, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFE, 0x02, 0x82, 0x02, 0x00, 0x90, 0xBF, 0x00, 0xF3, 0xDF, 0xBA, 0xFE, 0x2D, 0x00, 0x61, 0xDB,
 | 
				
			||||||
 | 
					    0xFE, 0x8D, 0x01, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0036]
 | 
				
			||||||
 | 
					    0x00, 0x10, 0xC7, 0xFE, 0x3E, 0x00, 0x00, 0xE4, 0xDF, 0xAB, 0x3C, 0x00, 0x30, 0xDF, 0x04, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xB0, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x29, 0x86, 0x58, 0x01, 0x00, 0xF6, 0xFD,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0x3E, 0x00, 0xF9, 0x5C, 0x02, 0x92, 0xEF, 0x01, 0xFA, 0x05, 0x00, 0x00, 0xFA, 0x06,
 | 
				
			||||||
 | 
					    0xF9, 0x05, 0x00, 0x00, 0xF6, 0x09, 0xF8, 0x07, 0x00, 0x00, 0xF6, 0x09, 0xF4, 0x0C, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF9, 0x06, 0xD0, 0x7F, 0x00, 0x30, 0xEF, 0x01, 0x30, 0xFE, 0x9C, 0xFB, 0x4E, 0x00, 0x00, 0x92,
 | 
				
			||||||
 | 
					    0xFD, 0xAE, 0x02, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0037]
 | 
				
			||||||
 | 
					    0xF8, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xA5, 0xAA, 0xAA, 0xAA, 0xFC, 0x07, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFA, 0x04, 0x00, 0x00, 0x00, 0x40, 0xAF, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF6, 0x09, 0x00, 0x00, 0x00, 0x10, 0xEE, 0x01, 0x00, 0x00, 0x00, 0x80, 0x7F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF2, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x06, 0x00, 0x00, 0x00, 0x30, 0xCF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xC0, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x0B, 0x00, 0x00, 0x00, 0x10, 0xFD,
 | 
				
			||||||
 | 
					    0x02, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0038]
 | 
				
			||||||
 | 
					    0x00, 0xB5, 0xFE, 0xAD, 0x03, 0x00, 0x90, 0xDF, 0x78, 0xE9, 0x6F, 0x00, 0xF3, 0x1C, 0x00, 0x30,
 | 
				
			||||||
 | 
					    0xEF, 0x00, 0xF6, 0x09, 0x00, 0x00, 0xFD, 0x01, 0xF3, 0x2E, 0x00, 0x10, 0xDE, 0x00, 0x80, 0xEF,
 | 
				
			||||||
 | 
					    0x38, 0xA1, 0x4F, 0x00, 0x00, 0xF8, 0xFF, 0xEE, 0x03, 0x00, 0x90, 0x6F, 0x62, 0xFC, 0x4E, 0x00,
 | 
				
			||||||
 | 
					    0xF6, 0x08, 0x00, 0x50, 0xFE, 0x02, 0xFB, 0x03, 0x00, 0x00, 0xF9, 0x07, 0xFB, 0x05, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF9, 0x07, 0xF7, 0x1C, 0x00, 0x20, 0xFE, 0x02, 0xB0, 0xEF, 0x78, 0xE9, 0x6F, 0x00, 0x00, 0xC6,
 | 
				
			||||||
 | 
					    0xFE, 0xAE, 0x03, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0039]
 | 
				
			||||||
 | 
					    0x00, 0xB5, 0xFE, 0x8D, 0x01, 0x00, 0xA0, 0xEF, 0x9A, 0xFD, 0x1D, 0x00, 0xF6, 0x1C, 0x00, 0x80,
 | 
				
			||||||
 | 
					    0x9F, 0x00, 0xFB, 0x04, 0x00, 0x00, 0xFD, 0x01, 0xFD, 0x02, 0x00, 0x00, 0xFA, 0x04, 0xFB, 0x04,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF9, 0x05, 0xF6, 0x5E, 0x01, 0x62, 0xFD, 0x06, 0x80, 0xFF, 0xFF, 0xEF, 0xFD, 0x05,
 | 
				
			||||||
 | 
					    0x00, 0x72, 0x88, 0x15, 0xFC, 0x02, 0x00, 0x00, 0x00, 0x10, 0xDF, 0x00, 0x00, 0x00, 0x00, 0x90,
 | 
				
			||||||
 | 
					    0x7F, 0x00, 0x00, 0x00, 0x10, 0xF8, 0x1D, 0x00, 0x70, 0xAC, 0xEB, 0xCF, 0x02, 0x00, 0x60, 0xFE,
 | 
				
			||||||
 | 
					    0xBE, 0x06, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x003A]
 | 
				
			||||||
 | 
					    0xF9, 0x0B, 0xF9, 0x0B, 0xB7, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xB7, 0x08, 0xF9, 0x0B, 0xF9, 0x0B,
 | 
				
			||||||
 | 
					    // Unicode: [0x003B]
 | 
				
			||||||
 | 
					    0x90, 0xBF, 0x00, 0x90, 0xBF, 0x00, 0x70, 0x8B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xAA, 0x03, 0x50, 0xEF, 0x00, 0x90, 0x8F,
 | 
				
			||||||
 | 
					    0x00, 0xD0, 0x2F, 0x00, 0xF2, 0x0A, 0x00, 0xF6, 0x04, 0x00, 0xD9, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x003C]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x73, 0x00, 0x00, 0x00, 0x00, 0xC5, 0xBF, 0x00, 0x00, 0x10, 0xD7,
 | 
				
			||||||
 | 
					    0xEF, 0x18, 0x00, 0x20, 0xE9, 0xCF, 0x05, 0x00, 0x40, 0xFB, 0x9F, 0x03, 0x00, 0x00, 0xF7, 0x8F,
 | 
				
			||||||
 | 
					    0x01, 0x00, 0x00, 0x00, 0xC4, 0xEF, 0x28, 0x00, 0x00, 0x00, 0x00, 0xA3, 0xFF, 0x4A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x82, 0xFE, 0x6D, 0x01, 0x00, 0x00, 0x00, 0x61, 0xFD, 0x7E, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x40, 0xBB, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10,
 | 
				
			||||||
 | 
					    // Unicode: [0x003D]
 | 
				
			||||||
 | 
					    0x85, 0x88, 0x88, 0x88, 0x88, 0x88, 0xF9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x85, 0x88, 0x88, 0x88, 0x88, 0x88, 0xF9, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    // Unicode: [0x003E]
 | 
				
			||||||
 | 
					    0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x7E, 0x01, 0x00, 0x00, 0x00, 0x50, 0xFC, 0x9F, 0x03,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x30, 0xF9, 0xBF, 0x05, 0x00, 0x00, 0x00, 0x10, 0xD7, 0xDF, 0x17, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xD5, 0xDF, 0x00, 0x00, 0x00, 0x61, 0xFC, 0x7E, 0x00, 0x00, 0x82, 0xFE, 0x6C, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xA4, 0xFF, 0x4B, 0x00, 0x00, 0xC3, 0xEF, 0x29, 0x00, 0x00, 0x00, 0xD6, 0x17, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
    // Unicode: [0x003F]
 | 
					    // Unicode: [0x003F]
 | 
				
			||||||
    0x93, 0xEC, 0xDE, 0x29, 0x00, 0xF7, 0xAD, 0xDA, 0xEF, 0x02, 0x33, 0x00, 0x00, 0xF9, 0x0A, 0x00,
 | 
					    0x93, 0xEC, 0xDE, 0x29, 0x00, 0xF7, 0xAD, 0xDA, 0xEF, 0x02, 0x33, 0x00, 0x00, 0xF9, 0x0A, 0x00,
 | 
				
			||||||
    0x00, 0x00, 0xF3, 0x0C, 0x00, 0x00, 0x00, 0xF5, 0x0A, 0x00, 0x00, 0x10, 0xFD, 0x03, 0x00, 0x00,
 | 
					    0x00, 0x00, 0xF3, 0x0C, 0x00, 0x00, 0x00, 0xF5, 0x0A, 0x00, 0x00, 0x10, 0xFD, 0x03, 0x00, 0x00,
 | 
				
			||||||
    0xD5, 0x6F, 0x00, 0x00, 0xB0, 0xCF, 0x03, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x0C,
 | 
					    0xD5, 0x6F, 0x00, 0x00, 0xB0, 0xCF, 0x03, 0x00, 0x00, 0xE0, 0x0C, 0x00, 0x00, 0x00, 0xE0, 0x0C,
 | 
				
			||||||
    0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00,
 | 
					    0x00, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x0E, 0x00,
 | 
				
			||||||
    0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00
 | 
					    0x00, 0x00, 0xF0, 0x0E, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0040]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x30, 0xC8, 0xFE, 0xBD, 0x17, 0x00, 0x00, 0x00, 0x10, 0xFA, 0x7C, 0x55, 0x96, 0xEE,
 | 
				
			||||||
 | 
					    0x06, 0x00, 0x00, 0xD1, 0x4D, 0x00, 0x00, 0x00, 0x81, 0x7F, 0x00, 0x00, 0xDC, 0x01, 0xC4, 0xEF,
 | 
				
			||||||
 | 
					    0xDA, 0x0B, 0xF6, 0x03, 0x60, 0x2F, 0x50, 0xDF, 0x78, 0xFA, 0x0B, 0xC0, 0x0A, 0xC0, 0x09, 0xD0,
 | 
				
			||||||
 | 
					    0x1D, 0x00, 0xD0, 0x0B, 0x60, 0x0E, 0xF1, 0x05, 0xF3, 0x07, 0x00, 0xD0, 0x0B, 0x20, 0x3F, 0xF3,
 | 
				
			||||||
 | 
					    0x02, 0xF5, 0x05, 0x00, 0xD0, 0x0B, 0x10, 0x4F, 0xF4, 0x02, 0xF3, 0x06, 0x00, 0xD0, 0x0B, 0x30,
 | 
				
			||||||
 | 
					    0x3F, 0xF2, 0x03, 0xF1, 0x0B, 0x00, 0xD0, 0x0B, 0x50, 0x0E, 0xE0, 0x07, 0x90, 0x9F, 0x65, 0xFD,
 | 
				
			||||||
 | 
					    0x0B, 0x90, 0x0A, 0x90, 0x0D, 0x10, 0xFA, 0xEF, 0xB6, 0xEF, 0xFE, 0x02, 0x20, 0x8E, 0x00, 0x10,
 | 
				
			||||||
 | 
					    0x01, 0x10, 0x22, 0x12, 0x00, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50,
 | 
				
			||||||
 | 
					    0xDE, 0x37, 0x11, 0x42, 0x04, 0x00, 0x00, 0x00, 0x00, 0x81, 0xFD, 0xFF, 0xFF, 0x08, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x10, 0x33, 0x12, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0041]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xA0, 0xFF, 0x05, 0x00, 0x00, 0x00, 0x00, 0xE1, 0xFE, 0x0A, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF6, 0xD7, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x81, 0x7F, 0x00, 0x00, 0x00, 0x20, 0xAF, 0x20,
 | 
				
			||||||
 | 
					    0xCF, 0x00, 0x00, 0x00, 0x80, 0x5F, 0x00, 0xFB, 0x03, 0x00, 0x00, 0xE0, 0x0E, 0x00, 0xF6, 0x09,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF4, 0x08, 0x00, 0xE1, 0x0E, 0x00, 0x00, 0xFA, 0x9B, 0x99, 0xD9, 0x5F, 0x00, 0x10,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x00, 0x60, 0x7F, 0x00, 0x00, 0x00, 0xFD, 0x02, 0xC0, 0x2F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF8, 0x07, 0xF3, 0x0B, 0x00, 0x00, 0x00, 0xF3, 0x0D, 0xF8, 0x06, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xC0, 0x3F,
 | 
				
			||||||
 | 
					    // Unicode: [0x0042]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xFF, 0xDF, 0x3A, 0x00, 0xF1, 0x9E, 0x99, 0xDA, 0xFF, 0x03, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF9, 0x09, 0xF1, 0x0D, 0x00, 0x00, 0xF6, 0x09, 0xF1, 0x0D, 0x00, 0x00, 0xFB, 0x03, 0xF1, 0x9E,
 | 
				
			||||||
 | 
					    0x99, 0xEA, 0x4E, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0xEF, 0x05, 0xF1, 0x0D, 0x00, 0x10, 0xE5, 0x4F,
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0x00, 0x40, 0xBF, 0xF1, 0x0D, 0x00, 0x00, 0x20, 0xDF, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0xCF, 0xF1, 0x0D, 0x00, 0x00, 0xC1, 0x7F, 0xF1, 0x9E, 0x99, 0xBA, 0xFF, 0x0A, 0xF1, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xEF, 0x5B, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0043]
 | 
				
			||||||
 | 
					    0x00, 0x20, 0xC8, 0xFE, 0xBE, 0x16, 0x00, 0x00, 0xF7, 0xDF, 0xAA, 0xFC, 0xEF, 0x02, 0x70, 0xEF,
 | 
				
			||||||
 | 
					    0x04, 0x00, 0x10, 0xE6, 0x03, 0xF2, 0x3F, 0x00, 0x00, 0x00, 0x10, 0x01, 0xF8, 0x09, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xFB, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,
 | 
				
			||||||
 | 
					    0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x3F, 0x00, 0x00, 0x00, 0x10, 0x01, 0x80, 0xEF, 0x05,
 | 
				
			||||||
 | 
					    0x00, 0x10, 0xE6, 0x03, 0x00, 0xF9, 0xDF, 0xAA, 0xFC, 0xEF, 0x02, 0x00, 0x30, 0xD9, 0xFE, 0xAD,
 | 
				
			||||||
 | 
					    0x16, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0044]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xEF, 0xCE, 0x38, 0x00, 0x00, 0xF1, 0x9E, 0xA9, 0xEB, 0xFF, 0x09, 0x00, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xD5, 0xAF, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x10, 0xFD, 0x06, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF4, 0x0C, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xC0,
 | 
				
			||||||
 | 
					    0x3F, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0xF1,
 | 
				
			||||||
 | 
					    0x0D, 0x00, 0x00, 0x00, 0xF4, 0x0B, 0xF1, 0x0D, 0x00, 0x00, 0x10, 0xFD, 0x05, 0xF1, 0x0D, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xD4, 0x9F, 0x00, 0xF1, 0x9E, 0xA9, 0xEB, 0xFF, 0x08, 0x00, 0xF1, 0xFF, 0xFF, 0xCE, 0x38,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0045]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF1, 0xAE, 0xAA, 0xAA, 0xAA, 0x05, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xAF,
 | 
				
			||||||
 | 
					    0xAA, 0xAA, 0xAA, 0x05, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xAF, 0xAA, 0xAA, 0xAA, 0x05, 0xF1, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0x08,
 | 
				
			||||||
 | 
					    // Unicode: [0x0046]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0x04, 0xF1, 0xAE, 0xAA, 0xAA, 0xAA, 0x02, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xAF,
 | 
				
			||||||
 | 
					    0xAA, 0xAA, 0x2A, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0047]
 | 
				
			||||||
 | 
					    0x00, 0x10, 0xB7, 0xFE, 0xDE, 0x5A, 0x00, 0x00, 0xE6, 0xEF, 0xAB, 0xDB, 0xFF, 0x1E, 0x60, 0xEF,
 | 
				
			||||||
 | 
					    0x05, 0x00, 0x00, 0x71, 0x1E, 0xE1, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF7, 0x09, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xFB, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x03, 0x00, 0x70, 0xAA, 0xAA,
 | 
				
			||||||
 | 
					    0x1A, 0xFD, 0x03, 0x00, 0xB0, 0xFF, 0xFF, 0x1F, 0xFB, 0x05, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xF7,
 | 
				
			||||||
 | 
					    0x0A, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0xF2, 0x4F, 0x00, 0x00, 0x00, 0xC0, 0x1F, 0x70, 0xFF, 0x07,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xD2, 0x1F, 0x00, 0xF7, 0xEF, 0xAB, 0xDB, 0xFF, 0x1D, 0x00, 0x20, 0xB7, 0xFE, 0xCE,
 | 
				
			||||||
 | 
					    0x49, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0048]
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFD, 0x01, 0xF1, 0xAF, 0xAA, 0xAA, 0xAA, 0xFE, 0x01, 0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
 | 
				
			||||||
 | 
					    0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1,
 | 
				
			||||||
 | 
					    0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0xFD, 0x01, 0xF1, 0x0D, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFD, 0x01,
 | 
				
			||||||
 | 
					    // Unicode: [0x0049]
 | 
				
			||||||
 | 
					    0xFA, 0xFF, 0xFF, 0x01, 0x74, 0xFD, 0x78, 0x01, 0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00, 0x00, 0xFB, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x74, 0xFD, 0x78, 0x01, 0xFA, 0xFF, 0xFF, 0x01,
 | 
				
			||||||
 | 
					    // Unicode: [0x004A]
 | 
				
			||||||
 | 
					    0x00, 0xFB, 0xFF, 0x4F, 0x00, 0x85, 0xC8, 0x4F, 0x00, 0x00, 0xA0, 0x4F, 0x00, 0x00, 0xA0, 0x4F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xA0, 0x4F, 0x00, 0x00, 0xA0, 0x4F, 0x00, 0x00, 0xA0, 0x4F, 0x00, 0x00, 0xA0, 0x4F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xA0, 0x4F, 0x00, 0x00, 0xA0, 0x4F, 0x00, 0x00, 0xB0, 0x4F, 0x00, 0x00, 0xE1, 0x1F,
 | 
				
			||||||
 | 
					    0xC8, 0xAA, 0xFE, 0x08, 0xD7, 0xEF, 0x5C, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x004B]
 | 
				
			||||||
 | 
					    0xEF, 0x00, 0x00, 0x00, 0xF7, 0x1C, 0xEF, 0x00, 0x00, 0x70, 0xCF, 0x01, 0xEF, 0x00, 0x00, 0xF6,
 | 
				
			||||||
 | 
					    0x1C, 0x00, 0xEF, 0x00, 0x60, 0xCF, 0x01, 0x00, 0xEF, 0x00, 0xF5, 0x1C, 0x00, 0x00, 0xEF, 0x50,
 | 
				
			||||||
 | 
					    0xCF, 0x01, 0x00, 0x00, 0xEF, 0xF4, 0x2F, 0x00, 0x00, 0x00, 0xFF, 0xEF, 0xAF, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFF, 0x2A, 0xFD, 0x09, 0x00, 0x00, 0xEF, 0x00, 0xD2, 0x8F, 0x00, 0x00, 0xEF, 0x00, 0x30, 0xFE,
 | 
				
			||||||
 | 
					    0x06, 0x00, 0xEF, 0x00, 0x00, 0xE3, 0x5F, 0x00, 0xEF, 0x00, 0x00, 0x40, 0xFF, 0x04, 0xEF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF5, 0x3E,
 | 
				
			||||||
 | 
					    // Unicode: [0x004C]
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xAF, 0xAA, 0xAA, 0xAA, 0x02, 0xF1, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0x02,
 | 
				
			||||||
 | 
					    // Unicode: [0x004D]
 | 
				
			||||||
 | 
					    0xF1, 0xCF, 0x00, 0x00, 0x00, 0xE1, 0xEF, 0xF1, 0xFF, 0x05, 0x00, 0x00, 0xF8, 0xEF, 0xF1, 0xEC,
 | 
				
			||||||
 | 
					    0x0C, 0x00, 0x10, 0xBE, 0xEF, 0xF1, 0x7C, 0x5F, 0x00, 0x70, 0x3F, 0xEF, 0xF1, 0x1C, 0xCE, 0x00,
 | 
				
			||||||
 | 
					    0xE1, 0x0B, 0xEF, 0xF1, 0x0C, 0xF7, 0x05, 0xF6, 0x03, 0xEF, 0xF1, 0x0C, 0xE1, 0x0C, 0xBD, 0x00,
 | 
				
			||||||
 | 
					    0xEF, 0xF1, 0x0C, 0x80, 0xAF, 0x3F, 0x00, 0xEF, 0xF1, 0x0C, 0x10, 0xFE, 0x0B, 0x00, 0xEF, 0xF1,
 | 
				
			||||||
 | 
					    0x0C, 0x00, 0xF8, 0x04, 0x00, 0xEF, 0xF1, 0x0C, 0x00, 0x21, 0x00, 0x00, 0xEF, 0xF1, 0x0C, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xEF, 0xF1, 0x0C, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xF1, 0x0C, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xEF,
 | 
				
			||||||
 | 
					    // Unicode: [0x004E]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0x03, 0x00, 0x00, 0xFC, 0x01, 0xF1, 0xFE, 0x0C, 0x00, 0x00, 0xFC, 0x01, 0xF1, 0xAC,
 | 
				
			||||||
 | 
					    0x5F, 0x00, 0x00, 0xFC, 0x01, 0xF1, 0x2C, 0xDF, 0x00, 0x00, 0xFC, 0x01, 0xF1, 0x0C, 0xF9, 0x06,
 | 
				
			||||||
 | 
					    0x00, 0xFC, 0x01, 0xF1, 0x0C, 0xE1, 0x1E, 0x00, 0xFC, 0x01, 0xF1, 0x0C, 0x70, 0x8F, 0x00, 0xFC,
 | 
				
			||||||
 | 
					    0x01, 0xF1, 0x0C, 0x00, 0xED, 0x02, 0xFC, 0x01, 0xF1, 0x0C, 0x00, 0xF6, 0x09, 0xFC, 0x01, 0xF1,
 | 
				
			||||||
 | 
					    0x0C, 0x00, 0xC0, 0x3F, 0xFC, 0x01, 0xF1, 0x0C, 0x00, 0x40, 0xBF, 0xFC, 0x01, 0xF1, 0x0C, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFB, 0xFE, 0x01, 0xF1, 0x0C, 0x00, 0x00, 0xF3, 0xFF, 0x01, 0xF1, 0x0C, 0x00, 0x00, 0x90,
 | 
				
			||||||
 | 
					    0xFF, 0x01,
 | 
				
			||||||
 | 
					    // Unicode: [0x004F]
 | 
				
			||||||
 | 
					    0x00, 0x40, 0xDA, 0xEF, 0x8C, 0x02, 0x00, 0x00, 0xF9, 0xCF, 0xAA, 0xFD, 0x6F, 0x00, 0x90, 0xDF,
 | 
				
			||||||
 | 
					    0x03, 0x00, 0x50, 0xFE, 0x05, 0xF2, 0x2E, 0x00, 0x00, 0x00, 0xF5, 0x0D, 0xF8, 0x08, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xC0, 0x4F, 0xFB, 0x04, 0x00, 0x00, 0x00, 0x80, 0x7F, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x60,
 | 
				
			||||||
 | 
					    0x9F, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x60, 0x9F, 0xFB, 0x04, 0x00, 0x00, 0x00, 0x80, 0x7F, 0xF8,
 | 
				
			||||||
 | 
					    0x08, 0x00, 0x00, 0x00, 0xC0, 0x4F, 0xF2, 0x2E, 0x00, 0x00, 0x00, 0xF5, 0x0D, 0x90, 0xDF, 0x03,
 | 
				
			||||||
 | 
					    0x00, 0x50, 0xFE, 0x05, 0x00, 0xF9, 0xCF, 0xAA, 0xFD, 0x6F, 0x00, 0x00, 0x40, 0xDA, 0xEF, 0x9D,
 | 
				
			||||||
 | 
					    0x02, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0050]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xFF, 0xAD, 0x03, 0x00, 0xF1, 0x9E, 0xA9, 0xFC, 0x7F, 0x00, 0xF1, 0x0D, 0x00, 0x40,
 | 
				
			||||||
 | 
					    0xFF, 0x02, 0xF1, 0x0D, 0x00, 0x00, 0xFA, 0x06, 0xF1, 0x0D, 0x00, 0x00, 0xF9, 0x06, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFD, 0x03, 0xF1, 0x0D, 0x10, 0xB4, 0xBF, 0x00, 0xF1, 0xFF, 0xFF, 0xFF, 0x1B, 0x00,
 | 
				
			||||||
 | 
					    0xF1, 0x9E, 0x99, 0x37, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0051]
 | 
				
			||||||
 | 
					    0x00, 0x40, 0xDA, 0xEF, 0x8C, 0x02, 0x00, 0x00, 0xF9, 0xCF, 0xAA, 0xFD, 0x6F, 0x00, 0x90, 0xDF,
 | 
				
			||||||
 | 
					    0x03, 0x00, 0x50, 0xFE, 0x05, 0xF2, 0x2E, 0x00, 0x00, 0x00, 0xF5, 0x0D, 0xF8, 0x08, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xC0, 0x4F, 0xFB, 0x04, 0x00, 0x00, 0x00, 0x80, 0x7F, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x60,
 | 
				
			||||||
 | 
					    0x9F, 0xFD, 0x03, 0x00, 0x00, 0x00, 0x60, 0x9F, 0xFB, 0x04, 0x00, 0x00, 0x00, 0x80, 0x7F, 0xF8,
 | 
				
			||||||
 | 
					    0x08, 0x00, 0x00, 0x00, 0xC0, 0x4F, 0xF2, 0x2E, 0x00, 0x00, 0x00, 0xF5, 0x0D, 0x90, 0xDF, 0x03,
 | 
				
			||||||
 | 
					    0x00, 0x50, 0xFE, 0x04, 0x00, 0xF9, 0xCF, 0xAA, 0xFD, 0x5E, 0x00, 0x00, 0x40, 0xDA, 0xFF, 0xCF,
 | 
				
			||||||
 | 
					    0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 0xBF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x03, 0x10,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xF6, 0xBE, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x60, 0xFD, 0xBE,
 | 
				
			||||||
 | 
					    // Unicode: [0x0052]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xFF, 0xBE, 0x06, 0x00, 0x00, 0xF1, 0x9E, 0xA9, 0xFC, 0x9F, 0x00, 0x00, 0xF1, 0x0D,
 | 
				
			||||||
 | 
					    0x00, 0x30, 0xFE, 0x03, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0xFA, 0x07, 0x00, 0xF1, 0x0D, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF9, 0x06, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0xFD, 0x02, 0x00, 0xF1, 0x0D, 0x10, 0xA3, 0x9F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF1, 0xFF, 0xFF, 0xEF, 0x07, 0x00, 0x00, 0xF1, 0x9E, 0xA9, 0xDF, 0x01, 0x00, 0x00, 0xF1,
 | 
				
			||||||
 | 
					    0x0D, 0x00, 0xF8, 0x1C, 0x00, 0x00, 0xF1, 0x0D, 0x00, 0xA0, 0xBF, 0x00, 0x00, 0xF1, 0x0D, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFB, 0x0A, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0xC1, 0x9F, 0x00, 0xF1, 0x0D, 0x00, 0x00, 0x20,
 | 
				
			||||||
 | 
					    0xFD, 0x08,
 | 
				
			||||||
 | 
					    // Unicode: [0x0053]
 | 
				
			||||||
 | 
					    0x00, 0xA4, 0xFD, 0xDF, 0x7B, 0x02, 0x80, 0xFF, 0xAC, 0xCA, 0xFF, 0x0E, 0xF4, 0x3E, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x61, 0x0C, 0xF9, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x09, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x8F,
 | 
				
			||||||
 | 
					    0x03, 0x00, 0x00, 0x00, 0x50, 0xFE, 0xFF, 0xAD, 0x17, 0x00, 0x00, 0x50, 0xB8, 0xFE, 0xFF, 0x06,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x20, 0xF7, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x90, 0x7F, 0x03, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x90, 0x6F, 0xBA, 0x04, 0x00, 0x00, 0xE5, 0x2E, 0xFA, 0xEF, 0xAB, 0xDB, 0xEF, 0x05, 0x50, 0xC9,
 | 
				
			||||||
 | 
					    0xFE, 0xCE, 0x28, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0054]
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x05, 0xAA, 0xAA, 0xEA, 0xBF, 0xAA, 0xAA, 0x03, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
 | 
				
			||||||
 | 
					    0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0055]
 | 
				
			||||||
 | 
					    0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF, 0xF4, 0x0A, 0x00, 0x00, 0x00, 0xEF,
 | 
				
			||||||
 | 
					    0xF4, 0x0A, 0x00, 0x00, 0x10, 0xDF, 0xF3, 0x0B, 0x00, 0x00, 0x20, 0xCF, 0xF0, 0x1F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x70, 0x9F, 0x90, 0xAF, 0x01, 0x00, 0xE3, 0x4F, 0x10, 0xFC, 0xBE, 0xCA, 0xFF, 0x08, 0x00, 0x71,
 | 
				
			||||||
 | 
					    0xEC, 0xEF, 0x4B, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0056]
 | 
				
			||||||
 | 
					    0xF8, 0x08, 0x00, 0x00, 0x00, 0xB0, 0x3F, 0xF3, 0x0D, 0x00, 0x00, 0x00, 0xF2, 0x0D, 0xC0, 0x4F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xF7, 0x07, 0x60, 0x9F, 0x00, 0x00, 0x00, 0xFD, 0x02, 0x10, 0xEF, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0xBF, 0x00, 0x00, 0xFA, 0x05, 0x00, 0x90, 0x5F, 0x00, 0x00, 0xF4, 0x0B, 0x00, 0xE0, 0x0E,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xE0, 0x2F, 0x00, 0xF5, 0x09, 0x00, 0x00, 0x80, 0x7F, 0x00, 0xFA, 0x03, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0xDF, 0x10, 0xCF, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x73, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xF6,
 | 
				
			||||||
 | 
					    0xC9, 0x1F, 0x00, 0x00, 0x00, 0x00, 0xE1, 0xFE, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xFF, 0x05,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0057]
 | 
				
			||||||
 | 
					    0xFE, 0x01, 0x00, 0x30, 0xFF, 0x01, 0x00, 0x20, 0xBF, 0xFA, 0x04, 0x00, 0x70, 0xFF, 0x04, 0x00,
 | 
				
			||||||
 | 
					    0x60, 0x7F, 0xF6, 0x08, 0x00, 0xA0, 0xFE, 0x08, 0x00, 0xA0, 0x3F, 0xF2, 0x0C, 0x00, 0xE0, 0xD9,
 | 
				
			||||||
 | 
					    0x0C, 0x00, 0xE0, 0x0E, 0xD0, 0x1F, 0x00, 0xF3, 0x95, 0x1F, 0x00, 0xF3, 0x0A, 0x90, 0x5F, 0x00,
 | 
				
			||||||
 | 
					    0xF7, 0x51, 0x5F, 0x00, 0xF7, 0x06, 0x50, 0x9F, 0x00, 0xCB, 0x10, 0x9F, 0x00, 0xFA, 0x02, 0x10,
 | 
				
			||||||
 | 
					    0xDF, 0x00, 0x8E, 0x00, 0xDC, 0x00, 0xDE, 0x00, 0x00, 0xFB, 0x42, 0x4F, 0x00, 0xF8, 0x32, 0x9F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF7, 0x86, 0x1F, 0x00, 0xF4, 0x76, 0x5F, 0x00, 0x00, 0xF3, 0xCA, 0x0C, 0x00, 0xF0,
 | 
				
			||||||
 | 
					    0xB9, 0x1F, 0x00, 0x00, 0xE0, 0xFE, 0x08, 0x00, 0xB0, 0xED, 0x0C, 0x00, 0x00, 0xA0, 0xFF, 0x04,
 | 
				
			||||||
 | 
					    0x00, 0x70, 0xFF, 0x07, 0x00, 0x00, 0x60, 0xFF, 0x00, 0x00, 0x30, 0xFF, 0x03, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0058]
 | 
				
			||||||
 | 
					    0xD0, 0x5F, 0x00, 0x00, 0x00, 0xF7, 0x0A, 0x30, 0xEF, 0x02, 0x00, 0x20, 0xDF, 0x01, 0x00, 0xF7,
 | 
				
			||||||
 | 
					    0x0B, 0x00, 0xC0, 0x4F, 0x00, 0x00, 0xB0, 0x6F, 0x00, 0xF8, 0x08, 0x00, 0x00, 0x20, 0xEE, 0x42,
 | 
				
			||||||
 | 
					    0xCF, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xDC, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x90, 0xFF, 0x05, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x90, 0xFF, 0x07, 0x00, 0x00, 0x00, 0x00, 0xF5, 0xEA, 0x3F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0xDE, 0x41, 0xCF, 0x00, 0x00, 0x00, 0xC0, 0x4F, 0x00, 0xF9, 0x08, 0x00, 0x00, 0xF8, 0x08,
 | 
				
			||||||
 | 
					    0x00, 0xD1, 0x4F, 0x00, 0x40, 0xCF, 0x00, 0x00, 0x40, 0xDF, 0x01, 0xD1, 0x2F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF8, 0x0A,
 | 
				
			||||||
 | 
					    // Unicode: [0x0059]
 | 
				
			||||||
 | 
					    0xF9, 0x08, 0x00, 0x00, 0x20, 0xDF, 0x01, 0xE1, 0x3F, 0x00, 0x00, 0xC0, 0x4F, 0x00, 0x50, 0xCF,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF6, 0x09, 0x00, 0x00, 0xFB, 0x06, 0x20, 0xEE, 0x01, 0x00, 0x00, 0xE2, 0x2E, 0xA0,
 | 
				
			||||||
 | 
					    0x5F, 0x00, 0x00, 0x00, 0x60, 0xAF, 0xF5, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xEE, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xF3, 0x5F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0,
 | 
				
			||||||
 | 
					    0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x2F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x005A]
 | 
				
			||||||
 | 
					    0xF7, 0xFF, 0xFF, 0xFF, 0xFF, 0x5F, 0xA4, 0xAA, 0xAA, 0xAA, 0xFA, 0x5F, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF8, 0x0A, 0x00, 0x00, 0x00, 0x60, 0xCF, 0x01, 0x00, 0x00, 0x00, 0xF4, 0x1D, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0xEE, 0x03, 0x00, 0x00, 0x00, 0xD1, 0x4F, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x07, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x90, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x0B, 0x00, 0x00, 0x00, 0x50, 0xDF, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xE3, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xFB, 0xAD, 0xAA, 0xAA, 0xAA, 0x6A, 0xFC, 0xFF,
 | 
				
			||||||
 | 
					    0xFF, 0xFF, 0xFF, 0x9F,
 | 
				
			||||||
 | 
					    // Unicode: [0x005B]
 | 
				
			||||||
 | 
					    0xFA, 0xFF, 0x6F, 0xFA, 0x66, 0x26, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00, 0xFA, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFA, 0x00, 0x00, 0xFA, 0x56, 0x25, 0xFA, 0xFF, 0x6F,
 | 
				
			||||||
 | 
					    // Unicode: [0x005C]
 | 
				
			||||||
 | 
					    0xF2, 0x09, 0x00, 0x00, 0x00, 0xB0, 0x1E, 0x00, 0x00, 0x00, 0x50, 0x6F, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xBE, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x02, 0x00, 0x00, 0x00, 0xF3, 0x08, 0x00, 0x00, 0x00, 0xC0,
 | 
				
			||||||
 | 
					    0x0E, 0x00, 0x00, 0x00, 0x60, 0x5F, 0x00, 0x00, 0x00, 0x10, 0xAE, 0x00, 0x00, 0x00, 0x00, 0xF9,
 | 
				
			||||||
 | 
					    0x01, 0x00, 0x00, 0x00, 0xF3, 0x07, 0x00, 0x00, 0x00, 0xD0, 0x0D, 0x00, 0x00, 0x00, 0x70, 0x4F,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x10, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xEA, 0x01, 0x00, 0x00, 0x00, 0xF4, 0x06,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xD0, 0x0C, 0x00, 0x00, 0x00, 0x80, 0x3F,
 | 
				
			||||||
 | 
					    // Unicode: [0x005D]
 | 
				
			||||||
 | 
					    0xF5, 0xFF, 0xBF, 0x62, 0x66, 0xBF, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE, 0x00, 0x00, 0xBE,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xBE, 0x52, 0x55, 0xBF, 0xF5, 0xFF, 0xBF,
 | 
				
			||||||
 | 
					    // Unicode: [0x005E]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x50, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x10,
 | 
				
			||||||
 | 
					    0xDD, 0xF9, 0x05, 0x00, 0x00, 0x00, 0xB0, 0x3F, 0xC0, 0x2E, 0x00, 0x00, 0x00, 0xF8, 0x06, 0x20,
 | 
				
			||||||
 | 
					    0xCE, 0x01, 0x00, 0x40, 0x9F, 0x00, 0x00, 0xF4, 0x09, 0x00, 0xE2, 0x1C, 0x00, 0x00, 0x80, 0x6F,
 | 
				
			||||||
 | 
					    0x00, 0xEC, 0x02, 0x00, 0x00, 0x00, 0xFB, 0x03,
 | 
				
			||||||
 | 
					    // Unicode: [0x005F]
 | 
				
			||||||
 | 
					    0xF1, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xBF, 0x30, 0x33, 0x33, 0x33, 0x33, 0x33, 0x23,
 | 
				
			||||||
 | 
					    // Unicode: [0x0060]
 | 
				
			||||||
 | 
					    0x84, 0x06, 0x00, 0xD1, 0x3F, 0x00, 0x30, 0xAF, 0x00, 0x00, 0xF6, 0x03,
 | 
				
			||||||
 | 
					    // Unicode: [0x0061]
 | 
				
			||||||
 | 
					    0x90, 0xEC, 0xEF, 0x7C, 0x00, 0xF0, 0xBD, 0xA9, 0xFE, 0x0A, 0x30, 0x00, 0x00, 0xD1, 0x2F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xA1, 0x4F, 0x20, 0xC8, 0xFE, 0xFF, 0x4F, 0xE3, 0xBF, 0x68, 0xA5, 0x4F, 0xFC, 0x05,
 | 
				
			||||||
 | 
					    0x00, 0x80, 0x4F, 0xEE, 0x00, 0x00, 0x80, 0x4F, 0xFD, 0x03, 0x00, 0xD5, 0x4F, 0xF6, 0xBF, 0xDB,
 | 
				
			||||||
 | 
					    0xEF, 0x4F, 0x50, 0xFC, 0xAE, 0x83, 0x4F,
 | 
				
			||||||
 | 
					    // Unicode: [0x0062]
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x2A, 0xEA, 0xCF, 0x04, 0x00, 0xF3, 0xFD,
 | 
				
			||||||
 | 
					    0xBE, 0xFD, 0x5F, 0x00, 0xF3, 0x6E, 0x00, 0x60, 0xDF, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xFC, 0x03,
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0x00, 0x00, 0xF9, 0x05, 0xF3, 0x0A, 0x00, 0x00, 0xF8, 0x06, 0xF3, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF9, 0x05, 0xF3, 0x0A, 0x00, 0x00, 0xFC, 0x01, 0xF3, 0x0A, 0x00, 0x80, 0xAF, 0x00, 0xF3, 0xEF,
 | 
				
			||||||
 | 
					    0xAA, 0xFD, 0x1D, 0x00, 0xF3, 0xAC, 0xFD, 0x9E, 0x01, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0063]
 | 
				
			||||||
 | 
					    0x00, 0xB4, 0xFE, 0xAD, 0x04, 0x70, 0xEF, 0x9A, 0xFB, 0x0D, 0xF4, 0x1D, 0x00, 0x20, 0x08, 0xFA,
 | 
				
			||||||
 | 
					    0x05, 0x00, 0x00, 0x00, 0xFD, 0x01, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xFA, 0x05, 0x00, 0x00, 0x00, 0xF5, 0x1D, 0x00, 0x20, 0x08, 0x90, 0xEF, 0x9A,
 | 
				
			||||||
 | 
					    0xFB, 0x0D, 0x00, 0xB5, 0xFE, 0x9D, 0x03,
 | 
				
			||||||
 | 
					    // Unicode: [0x0064]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x30, 0xAF, 0x00, 0xB4, 0xEE, 0x8B, 0xAF, 0x70, 0xFF, 0xAB, 0xFC, 0xAF, 0xF3, 0x2D,
 | 
				
			||||||
 | 
					    0x00, 0x40, 0xAF, 0xF9, 0x06, 0x00, 0x30, 0xAF, 0xFD, 0x01, 0x00, 0x30, 0xAF, 0xFE, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x30, 0xAF, 0xFD, 0x01, 0x00, 0x30, 0xAF, 0xFB, 0x04, 0x00, 0x30, 0xAF, 0xF6, 0x1C, 0x00, 0xB2,
 | 
				
			||||||
 | 
					    0xAF, 0xC0, 0xEF, 0xCC, 0xEF, 0xAF, 0x10, 0xE9, 0xDF, 0x37, 0xAF,
 | 
				
			||||||
 | 
					    // Unicode: [0x0065]
 | 
				
			||||||
 | 
					    0x00, 0xB4, 0xFE, 0x9D, 0x02, 0x70, 0xDF, 0x89, 0xFA, 0x2E, 0xF3, 0x09, 0x00, 0x50, 0x9F, 0xFA,
 | 
				
			||||||
 | 
					    0x12, 0x11, 0x11, 0xDE, 0xFD, 0xFF, 0xFF, 0xFF, 0xEF, 0xEE, 0x44, 0x44, 0x44, 0x44, 0xFD, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xFA, 0x06, 0x00, 0x00, 0x00, 0xF4, 0x4E, 0x00, 0x00, 0x84, 0x70, 0xFF, 0x9C,
 | 
				
			||||||
 | 
					    0xDA, 0xBF, 0x00, 0xA4, 0xFD, 0xCE, 0x28,
 | 
				
			||||||
 | 
					    // Unicode: [0x0066]
 | 
				
			||||||
 | 
					    0x00, 0x60, 0xEC, 0x9E, 0x00, 0xF7, 0x9D, 0x8A, 0x00, 0xEE, 0x01, 0x00, 0x10, 0xBF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF5, 0xFF, 0xFF, 0x0F, 0x83, 0xDF, 0x88, 0x08, 0x10, 0xBF, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x10, 0xBF, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x10, 0xBF, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00, 0x10, 0xBF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0067]
 | 
				
			||||||
 | 
					    0x00, 0xB4, 0xFE, 0x9C, 0xAF, 0x70, 0xFF, 0xAB, 0xFC, 0xAF, 0xF3, 0x2D, 0x00, 0x40, 0xAF, 0xF9,
 | 
				
			||||||
 | 
					    0x06, 0x00, 0x30, 0xAF, 0xFD, 0x01, 0x00, 0x30, 0xAF, 0xFE, 0x00, 0x00, 0x30, 0xAF, 0xFD, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x30, 0xAF, 0xFB, 0x04, 0x00, 0x30, 0xAF, 0xF6, 0x1B, 0x00, 0xA2, 0xAF, 0xC0, 0xEF, 0xCB,
 | 
				
			||||||
 | 
					    0xEF, 0xAF, 0x10, 0xE9, 0xDF, 0x48, 0x9F, 0x00, 0x00, 0x00, 0x50, 0x7F, 0x20, 0x00, 0x00, 0xC1,
 | 
				
			||||||
 | 
					    0x2F, 0xC0, 0xBE, 0xAA, 0xFE, 0x08, 0x80, 0xEC, 0xEF, 0x5B, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0068]
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0x00, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0xF3,
 | 
				
			||||||
 | 
					    0x0A, 0x00, 0x00, 0x00, 0xF3, 0x2A, 0xE9, 0xDF, 0x05, 0xF3, 0xED, 0xBE, 0xFC, 0x4F, 0xF3, 0x8F,
 | 
				
			||||||
 | 
					    0x01, 0x60, 0xAF, 0xF3, 0x0A, 0x00, 0x00, 0xDF, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE,
 | 
				
			||||||
 | 
					    // Unicode: [0x0069]
 | 
				
			||||||
 | 
					    0xF4, 0x0C, 0xD4, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    // Unicode: [0x006A]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFD, 0x03, 0x00, 0x00, 0xDB, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x88, 0xFD, 0x01, 0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFB, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFB, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFB, 0x01, 0x00, 0x00, 0xFC, 0x01, 0x00, 0x20, 0xDF, 0x00,
 | 
				
			||||||
 | 
					    0xB8, 0xEA, 0x6F, 0x00, 0xE7, 0xDF, 0x06, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x006B]
 | 
				
			||||||
 | 
					    0xF2, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x0B, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF2, 0x0B, 0x00, 0x00, 0x00, 0x00, 0xF2, 0x0B, 0x00, 0x70, 0xCF, 0x01, 0xF2, 0x0B,
 | 
				
			||||||
 | 
					    0x00, 0xF6, 0x1C, 0x00, 0xF2, 0x0B, 0x60, 0xCF, 0x01, 0x00, 0xF2, 0x0B, 0xF5, 0x1C, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF2, 0x5B, 0xCF, 0x01, 0x00, 0x00, 0xF2, 0xFE, 0xAF, 0x00, 0x00, 0x00, 0xF2, 0x9F, 0xFC, 0x09,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF2, 0x0C, 0xD1, 0x7F, 0x00, 0x00, 0xF2, 0x0B, 0x20, 0xFD, 0x06, 0x00, 0xF2, 0x0B,
 | 
				
			||||||
 | 
					    0x00, 0xE2, 0x5F, 0x00, 0xF2, 0x0B, 0x00, 0x30, 0xFE, 0x04,
 | 
				
			||||||
 | 
					    // Unicode: [0x006C]
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    // Unicode: [0x006D]
 | 
				
			||||||
 | 
					    0xF3, 0x2A, 0xEA, 0xBE, 0x03, 0xA3, 0xFE, 0x4C, 0x00, 0xF3, 0xFD, 0xBE, 0xFD, 0x8E, 0xEF, 0xCB,
 | 
				
			||||||
 | 
					    0xFF, 0x02, 0xF3, 0x7F, 0x00, 0x90, 0xFF, 0x18, 0x00, 0xF9, 0x07, 0xF3, 0x0A, 0x00, 0x40, 0xAF,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF3, 0x0A, 0xF3, 0x0A, 0x00, 0x30, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3,
 | 
				
			||||||
 | 
					    0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2,
 | 
				
			||||||
 | 
					    0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF2, 0x0B, 0xF3, 0x0A, 0x00, 0x20, 0xAF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF2, 0x0B,
 | 
				
			||||||
 | 
					    // Unicode: [0x006E]
 | 
				
			||||||
 | 
					    0xF3, 0x2A, 0xE9, 0xDF, 0x05, 0xF3, 0xFD, 0xBE, 0xFC, 0x4F, 0xF3, 0x8F, 0x01, 0x60, 0xAF, 0xF3,
 | 
				
			||||||
 | 
					    0x0A, 0x00, 0x00, 0xDF, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE, 0xF3, 0x0A, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xEE, 0xF3, 0x0A, 0x00, 0x00, 0xEE,
 | 
				
			||||||
 | 
					    // Unicode: [0x006F]
 | 
				
			||||||
 | 
					    0x00, 0xC5, 0xEE, 0x6C, 0x00, 0x00, 0x90, 0xEF, 0xAA, 0xFD, 0x0A, 0x00, 0xF4, 0x1C, 0x00, 0xB1,
 | 
				
			||||||
 | 
					    0x6F, 0x00, 0xFA, 0x04, 0x00, 0x20, 0xCF, 0x00, 0xFD, 0x00, 0x00, 0x00, 0xFD, 0x00, 0xEE, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFC, 0x01, 0xFD, 0x01, 0x00, 0x00, 0xFE, 0x00, 0xFA, 0x04, 0x00, 0x20, 0xCF, 0x00,
 | 
				
			||||||
 | 
					    0xF4, 0x1C, 0x00, 0xB1, 0x6F, 0x00, 0x90, 0xEF, 0x9A, 0xFD, 0x0B, 0x00, 0x00, 0xC5, 0xFE, 0x7C,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0070]
 | 
				
			||||||
 | 
					    0xF3, 0x2A, 0xEA, 0xCF, 0x05, 0x00, 0xF3, 0xFE, 0xBE, 0xFD, 0x5F, 0x00, 0xF3, 0x6E, 0x00, 0x60,
 | 
				
			||||||
 | 
					    0xDF, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xFC, 0x03, 0xF3, 0x0A, 0x00, 0x00, 0xF9, 0x05, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF8, 0x06, 0xF3, 0x0A, 0x00, 0x00, 0xF9, 0x05, 0xF3, 0x0A, 0x00, 0x00, 0xFD, 0x01,
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0x00, 0x80, 0xAF, 0x00, 0xF3, 0xDF, 0xAA, 0xFD, 0x1D, 0x00, 0xF3, 0x9B, 0xFD, 0x9D,
 | 
				
			||||||
 | 
					    0x01, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x0A,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0071]
 | 
				
			||||||
 | 
					    0x00, 0xB5, 0xEE, 0x9C, 0xAF, 0x70, 0xEF, 0xAB, 0xFC, 0xAF, 0xF3, 0x2D, 0x00, 0x40, 0xAF, 0xF9,
 | 
				
			||||||
 | 
					    0x05, 0x00, 0x30, 0xAF, 0xFD, 0x01, 0x00, 0x30, 0xAF, 0xFE, 0x00, 0x00, 0x30, 0xAF, 0xFD, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x30, 0xAF, 0xFB, 0x04, 0x00, 0x30, 0xAF, 0xF6, 0x1C, 0x00, 0xB2, 0xAF, 0xC0, 0xEF, 0xCB,
 | 
				
			||||||
 | 
					    0xDF, 0xAF, 0x10, 0xE9, 0xDF, 0x37, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x30,
 | 
				
			||||||
 | 
					    0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x30, 0xAF,
 | 
				
			||||||
 | 
					    // Unicode: [0x0072]
 | 
				
			||||||
 | 
					    0xF3, 0x1A, 0xE9, 0x8F, 0xF3, 0xED, 0xCF, 0x9C, 0xF3, 0x9F, 0x01, 0x00, 0xF3, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00, 0xF3, 0x0A, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0073]
 | 
				
			||||||
 | 
					    0x30, 0xEA, 0xDF, 0x7B, 0x01, 0xF4, 0xAE, 0xA8, 0xFE, 0x03, 0xFB, 0x03, 0x00, 0x50, 0x02, 0xFC,
 | 
				
			||||||
 | 
					    0x02, 0x00, 0x00, 0x00, 0xF8, 0x9E, 0x25, 0x00, 0x00, 0x70, 0xFD, 0xFF, 0x6D, 0x00, 0x00, 0x20,
 | 
				
			||||||
 | 
					    0x95, 0xFE, 0x04, 0x00, 0x00, 0x00, 0xF6, 0x08, 0x3A, 0x00, 0x00, 0xF7, 0x07, 0xFE, 0x9C, 0xB8,
 | 
				
			||||||
 | 
					    0xDF, 0x01, 0x94, 0xFD, 0xCE, 0x17, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0074]
 | 
				
			||||||
 | 
					    0x20, 0xAF, 0x00, 0x00, 0x20, 0xAF, 0x00, 0x00, 0x20, 0xAF, 0x00, 0x00, 0xF6, 0xFF, 0xFF, 0x7F,
 | 
				
			||||||
 | 
					    0x93, 0xDF, 0x88, 0x48, 0x20, 0xAF, 0x00, 0x00, 0x20, 0xAF, 0x00, 0x00, 0x20, 0xAF, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x20, 0xAF, 0x00, 0x00, 0x20, 0xAF, 0x00, 0x00, 0x20, 0xBF, 0x00, 0x00, 0x10, 0xEF, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xFA, 0x9D, 0x6A, 0x00, 0x91, 0xFD, 0x5D,
 | 
				
			||||||
 | 
					    // Unicode: [0x0075]
 | 
				
			||||||
 | 
					    0xF4, 0x08, 0x00, 0x00, 0xDF, 0xF4, 0x08, 0x00, 0x00, 0xDF, 0xF4, 0x08, 0x00, 0x00, 0xDF, 0xF4,
 | 
				
			||||||
 | 
					    0x08, 0x00, 0x00, 0xDF, 0xF4, 0x08, 0x00, 0x00, 0xDF, 0xF4, 0x08, 0x00, 0x00, 0xDF, 0xF4, 0x09,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xDF, 0xF3, 0x0A, 0x00, 0x00, 0xDF, 0xF1, 0x2E, 0x00, 0xB2, 0xDF, 0x90, 0xEF, 0xCB,
 | 
				
			||||||
 | 
					    0xDF, 0xDF, 0x00, 0xE8, 0xDF, 0x17, 0xDF,
 | 
				
			||||||
 | 
					    // Unicode: [0x0076]
 | 
				
			||||||
 | 
					    0xF3, 0x0C, 0x00, 0x00, 0xD0, 0x1F, 0xC0, 0x3F, 0x00, 0x00, 0xF4, 0x09, 0x60, 0x8F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFA, 0x03, 0x10, 0xEE, 0x00, 0x10, 0xCE, 0x00, 0x00, 0xF9, 0x05, 0x60, 0x6F, 0x00, 0x00, 0xF3,
 | 
				
			||||||
 | 
					    0x0B, 0xC0, 0x1E, 0x00, 0x00, 0xC0, 0x2F, 0xF3, 0x09, 0x00, 0x00, 0x60, 0x7F, 0xF8, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x10, 0xDE, 0xCE, 0x00, 0x00, 0x00, 0x00, 0xF9, 0x6F, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x1E,
 | 
				
			||||||
 | 
					    0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0077]
 | 
				
			||||||
 | 
					    0xF1, 0x0D, 0x00, 0xA0, 0x2F, 0x00, 0x60, 0x6F, 0xC0, 0x2F, 0x00, 0xE1, 0x7F, 0x00, 0xA0, 0x2F,
 | 
				
			||||||
 | 
					    0x80, 0x5F, 0x00, 0xF5, 0xCE, 0x00, 0xD0, 0x0D, 0x40, 0x9F, 0x00, 0xDA, 0xF7, 0x02, 0xF1, 0x09,
 | 
				
			||||||
 | 
					    0x00, 0xCE, 0x00, 0x8E, 0xF2, 0x07, 0xF5, 0x06, 0x00, 0xFB, 0x41, 0x3F, 0xC0, 0x0C, 0xF8, 0x02,
 | 
				
			||||||
 | 
					    0x00, 0xF7, 0x94, 0x0D, 0x80, 0x2F, 0xDC, 0x00, 0x00, 0xF3, 0xE8, 0x08, 0x30, 0x7F, 0x9F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xE0, 0xFE, 0x03, 0x00, 0xED, 0x5F, 0x00, 0x00, 0xA0, 0xDF, 0x00, 0x00, 0xF8, 0x1F, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x60, 0x9F, 0x00, 0x00, 0xF3, 0x0C, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x0078]
 | 
				
			||||||
 | 
					    0xE1, 0x5F, 0x00, 0x00, 0xF4, 0x1C, 0x40, 0xEF, 0x02, 0x10, 0xEE, 0x02, 0x00, 0xF7, 0x0C, 0xB0,
 | 
				
			||||||
 | 
					    0x4F, 0x00, 0x00, 0xA0, 0x8F, 0xF7, 0x07, 0x00, 0x00, 0x10, 0xFD, 0xAF, 0x00, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF5, 0x2F, 0x00, 0x00, 0x00, 0x10, 0xED, 0xCF, 0x00, 0x00, 0x00, 0xA0, 0x5F, 0xF9, 0x08, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF7, 0x09, 0xD1, 0x5F, 0x00, 0x40, 0xCF, 0x00, 0x30, 0xEF, 0x02, 0xE2, 0x2E, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF6, 0x1C,
 | 
				
			||||||
 | 
					    // Unicode: [0x0079]
 | 
				
			||||||
 | 
					    0xF3, 0x0C, 0x00, 0x00, 0xD0, 0x1E, 0xC0, 0x3F, 0x00, 0x00, 0xF5, 0x09, 0x50, 0x9F, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFB, 0x03, 0x00, 0xEE, 0x01, 0x20, 0xBF, 0x00, 0x00, 0xF8, 0x07, 0x80, 0x5F, 0x00, 0x00, 0xF2,
 | 
				
			||||||
 | 
					    0x0D, 0xE1, 0x0D, 0x00, 0x00, 0xB0, 0x4F, 0xF6, 0x07, 0x00, 0x00, 0x40, 0xAF, 0xFC, 0x01, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFD, 0x9F, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x3F, 0x00, 0x00, 0x00, 0x00, 0xF3, 0x0C,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0x00, 0xF8, 0x05, 0x00, 0x00, 0x00, 0x10, 0xEE, 0x00, 0x00, 0x00, 0x00, 0x60,
 | 
				
			||||||
 | 
					    0x8F, 0x00, 0x00, 0x00, 0x00, 0xD0, 0x2F, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x007A]
 | 
				
			||||||
 | 
					    0xE0, 0xFF, 0xFF, 0xFF, 0x8F, 0x70, 0x88, 0x88, 0xE8, 0x5F, 0x00, 0x00, 0x00, 0xF8, 0x09, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x40, 0xCF, 0x00, 0x00, 0x00, 0xE2, 0x2E, 0x00, 0x00, 0x00, 0xFC, 0x04, 0x00, 0x00, 0x90,
 | 
				
			||||||
 | 
					    0x7F, 0x00, 0x00, 0x00, 0xF6, 0x0B, 0x00, 0x00, 0x30, 0xDF, 0x01, 0x00, 0x00, 0xD1, 0xAF, 0x88,
 | 
				
			||||||
 | 
					    0x88, 0x68, 0xF1, 0xFF, 0xFF, 0xFF, 0xBF,
 | 
				
			||||||
 | 
					    // Unicode: [0x007B]
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x10, 0xD8, 0xDF, 0x00, 0x00, 0xC0, 0x9F, 0x46, 0x00, 0x00, 0xF5, 0x08, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF7, 0x04, 0x00, 0x00, 0x00, 0xF8, 0x04, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xFA, 0x02, 0x00, 0x00, 0x20, 0xBF, 0x00, 0x00, 0x31, 0xD6, 0x2C, 0x00, 0x00, 0xF5, 0xAF, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x62, 0xF9, 0x1A, 0x00, 0x00, 0x00, 0x30, 0xAF, 0x00, 0x00, 0x00, 0x00, 0xFB, 0x01,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x04, 0x00, 0x00, 0x00, 0xF7, 0x04, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xF5, 0x08, 0x00, 0x00, 0x00, 0xD0, 0x8F, 0x45, 0x00, 0x00, 0x10, 0xD9, 0xDF,
 | 
				
			||||||
 | 
					    // Unicode: [0x007C]
 | 
				
			||||||
 | 
					    0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06,
 | 
				
			||||||
 | 
					    0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06,
 | 
				
			||||||
 | 
					    0xF5, 0x06, 0xF5, 0x06, 0xF5, 0x06,
 | 
				
			||||||
 | 
					    // Unicode: [0x007D]
 | 
				
			||||||
 | 
					    0xF3, 0xCE, 0x06, 0x00, 0x00, 0x51, 0xB6, 0x8F, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x01, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0xF9, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0xF8, 0x04, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xF6, 0x06, 0x00, 0x00, 0x00, 0xE1, 0x0C, 0x00, 0x00, 0x00, 0x40, 0xBE, 0x25, 0x00, 0x00, 0x00,
 | 
				
			||||||
 | 
					    0xD2, 0xFF, 0x00, 0x00, 0x30, 0xDD, 0x57, 0x00, 0x00, 0xE1, 0x1D, 0x00, 0x00, 0x00, 0xF6, 0x06,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0x00, 0xF8, 0x04, 0x00, 0x00, 0x00, 0xF8, 0x03, 0x00, 0x00, 0x00, 0xF9, 0x03, 0x00,
 | 
				
			||||||
 | 
					    0x00, 0x00, 0xFC, 0x01, 0x00, 0x51, 0xB6, 0x8F, 0x00, 0x00, 0xF3, 0xCE, 0x06, 0x00, 0x00,
 | 
				
			||||||
 | 
					    // Unicode: [0x007E]
 | 
				
			||||||
 | 
					    0x00, 0xD5, 0xCF, 0x04, 0x00, 0x20, 0x7F, 0x40, 0xDF, 0xD9, 0x6F, 0x00, 0x40, 0x5F, 0xA0, 0x1E,
 | 
				
			||||||
 | 
					    0x10, 0xFC, 0x05, 0xA0, 0x1F, 0xF0, 0x0A, 0x00, 0xD2, 0xAF, 0xFB, 0x09, 0xF2, 0x07, 0x00, 0x20,
 | 
				
			||||||
 | 
					    0xEA, 0x9E, 0x01
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -2,5 +2,109 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
FONT_KERNING_LOCATION_FLASH_PRAGMA
 | 
					FONT_KERNING_LOCATION_FLASH_PRAGMA
 | 
				
			||||||
KEEP extern const touchgfx::KerningNode kerning_verdana_20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
 | 
					KEEP extern const touchgfx::KerningNode kerning_verdana_20_4bpp[] FONT_KERNING_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			||||||
    { 0, 0 }
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0027, '], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0066,  1 },  // (First char = [0x0066, f], Second char = [0x0029, )], Kerning dist = 1)
 | 
				
			||||||
 | 
					    { 0x002E, -1 },  // (First char = [0x002E, .], Second char = [0x002C, ,], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0046, -2 },  // (First char = [0x0046, F], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0050, -2 },  // (First char = [0x0050, P], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -2 },  // (First char = [0x0056, V], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0057, -2 },  // (First char = [0x0057, W], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -2 },  // (First char = [0x0059, Y], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0066, -1 },  // (First char = [0x0066, f], Second char = [0x002C, ,], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0072, -2 },  // (First char = [0x0072, r], Second char = [0x002C, ,], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0076, -1 },  // (First char = [0x0076, v], Second char = [0x002C, ,], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0077, -1 },  // (First char = [0x0077, w], Second char = [0x002C, ,], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0079, -1 },  // (First char = [0x0079, y], Second char = [0x002C, ,], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x002E, -1 },  // (First char = [0x002E, .], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004B, -1 },  // (First char = [0x004B, K], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0052, -1 },  // (First char = [0x0052, R], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -1 },  // (First char = [0x0054, T], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0058, -1 },  // (First char = [0x0058, X], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x006B, -1 },  // (First char = [0x006B, k], Second char = [0x002D, -], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0046, -2 },  // (First char = [0x0046, F], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0050, -2 },  // (First char = [0x0050, P], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -2 },  // (First char = [0x0056, V], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0057, -2 },  // (First char = [0x0057, W], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -2 },  // (First char = [0x0059, Y], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0066, -1 },  // (First char = [0x0066, f], Second char = [0x002E, .], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0072, -2 },  // (First char = [0x0072, r], Second char = [0x002E, .], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0076, -1 },  // (First char = [0x0076, v], Second char = [0x002E, .], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0077, -1 },  // (First char = [0x0077, w], Second char = [0x002E, .], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0079, -1 },  // (First char = [0x0079, y], Second char = [0x002E, .], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x003A, :], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -1 },  // (First char = [0x0056, V], Second char = [0x003A, :], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0057, -1 },  // (First char = [0x0057, W], Second char = [0x003A, :], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -2 },  // (First char = [0x0059, Y], Second char = [0x003A, :], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x003B, ;], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -1 },  // (First char = [0x0056, V], Second char = [0x003B, ;], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0057, -1 },  // (First char = [0x0057, W], Second char = [0x003B, ;], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -2 },  // (First char = [0x0059, Y], Second char = [0x003B, ;], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0066,  1 },  // (First char = [0x0066, f], Second char = [0x003F, ?], Kerning dist = 1)
 | 
				
			||||||
 | 
					    { 0x0027, -1 },  // (First char = [0x0027, '], Second char = [0x0041, A], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0046, -1 },  // (First char = [0x0046, F], Second char = [0x0041, A], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -1 },  // (First char = [0x0054, T], Second char = [0x0041, A], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0041, A], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x002D, -1 },  // (First char = [0x002D, -], Second char = [0x004A, J], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C,  1 },  // (First char = [0x004C, L], Second char = [0x004A, J], Kerning dist = 1)
 | 
				
			||||||
 | 
					    { 0x002D, -1 },  // (First char = [0x002D, -], Second char = [0x0054, T], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0041, -1 },  // (First char = [0x0041, A], Second char = [0x0054, T], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0054, T], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -1 },  // (First char = [0x0054, T], Second char = [0x0054, T], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0065, -1 },  // (First char = [0x0065, e], Second char = [0x0054, T], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0056, V], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0057, W], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x002D, -1 },  // (First char = [0x002D, -], Second char = [0x0058, X], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x002D, -1 },  // (First char = [0x002D, -], Second char = [0x0059, Y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0041, -1 },  // (First char = [0x0041, A], Second char = [0x0059, Y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0059, Y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0066,  1 },  // (First char = [0x0066, f], Second char = [0x005C, \], Kerning dist = 1)
 | 
				
			||||||
 | 
					    { 0x0066,  1 },  // (First char = [0x0066, f], Second char = [0x005D, ]], Kerning dist = 1)
 | 
				
			||||||
 | 
					    { 0x0046, -1 },  // (First char = [0x0046, F], Second char = [0x0061, a], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0061, a], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -1 },  // (First char = [0x0056, V], Second char = [0x0061, a], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0057, -1 },  // (First char = [0x0057, W], Second char = [0x0061, a], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0061, a], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0063, c], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0064, d], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004B, -1 },  // (First char = [0x004B, K], Second char = [0x0065, e], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0065, e], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -1 },  // (First char = [0x0056, V], Second char = [0x0065, e], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0057, -1 },  // (First char = [0x0057, W], Second char = [0x0065, e], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0065, e], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0067, g], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0067, g], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x006D, m], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x006E, n], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004B, -1 },  // (First char = [0x004B, K], Second char = [0x006F, o], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x006F, o], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -1 },  // (First char = [0x0056, V], Second char = [0x006F, o], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0057, -1 },  // (First char = [0x0057, W], Second char = [0x006F, o], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x006F, o], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0070, p], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0071, q], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0072, r], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0072, r], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -1 },  // (First char = [0x0054, T], Second char = [0x0073, s], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0073, s], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0075, u], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0075, u], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004B, -1 },  // (First char = [0x004B, K], Second char = [0x0076, v], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0076, v], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0076, v], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0059, -1 },  // (First char = [0x0059, Y], Second char = [0x0076, v], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004B, -1 },  // (First char = [0x004B, K], Second char = [0x0077, w], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0077, w], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x004B, -1 },  // (First char = [0x004B, K], Second char = [0x0079, y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x004C, -1 },  // (First char = [0x004C, L], Second char = [0x0079, y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -2 },  // (First char = [0x0054, T], Second char = [0x0079, y], Kerning dist = -2)
 | 
				
			||||||
 | 
					    { 0x0056, -1 },  // (First char = [0x0056, V], Second char = [0x0079, y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0057, -1 },  // (First char = [0x0057, W], Second char = [0x0079, y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0058, -1 },  // (First char = [0x0058, X], Second char = [0x0079, y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x005A, -1 },  // (First char = [0x005A, Z], Second char = [0x0079, y], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0054, -1 },  // (First char = [0x0054, T], Second char = [0x007A, z], Kerning dist = -1)
 | 
				
			||||||
 | 
					    { 0x0066,  1 },  // (First char = [0x0066, f], Second char = [0x007D, }], Kerning dist = 1)
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -5,37 +5,44 @@
 | 
				
			|||||||
FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
					FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
				
			||||||
KEEP extern const touchgfx::GlyphNode glyphs_CHINN____20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
					KEEP extern const touchgfx::GlyphNode glyphs_CHINN____20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			||||||
    {     0, 0x0020,   0,   0,   0,   0,   5,   0,   0, 0x00 }, // space
 | 
					    {     0, 0x0020,   0,   0,   0,   0,   5,   0,   0, 0x00 }, // space
 | 
				
			||||||
    {     0, 0x003F,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // question
 | 
					    {     0, 0x0032,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // two
 | 
				
			||||||
    {   130, 0x0041,  20,  13,  13,  -1,  18,   0,   0, 0x00 }, // A
 | 
					    {   130, 0x003F,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // question
 | 
				
			||||||
    {   260, 0x0042,  20,  13,  13,   0,  21,   0,   0, 0x00 }, // B
 | 
					    {   260, 0x0041,  20,  13,  13,  -1,  18,   0,   0, 0x00 }, // A
 | 
				
			||||||
    {   390, 0x0044,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // D
 | 
					    {   390, 0x0042,  20,  13,  13,   0,  21,   0,   0, 0x00 }, // B
 | 
				
			||||||
    {   520, 0x0045,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // E
 | 
					    {   520, 0x0043,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // C
 | 
				
			||||||
    {   650, 0x0046,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // F
 | 
					    {   650, 0x0044,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // D
 | 
				
			||||||
    {   780, 0x0049,   4,  13,  13,   0,   5,   0,   0, 0x00 }, // I
 | 
					    {   780, 0x0045,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // E
 | 
				
			||||||
    {   806, 0x004C,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // L
 | 
					    {   910, 0x0046,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // F
 | 
				
			||||||
    {   936, 0x004D,  21,  13,  13,   0,  21,   0,   0, 0x00 }, // M
 | 
					    {  1040, 0x0047,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // G
 | 
				
			||||||
    {  1079, 0x004E,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // N
 | 
					    {  1170, 0x0048,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // H
 | 
				
			||||||
    {  1209, 0x0050,  21,  13,  13,   0,  20,   0,   0, 0x00 }, // P
 | 
					    {  1300, 0x0049,   4,  13,  13,   0,   5,   0,   0, 0x00 }, // I
 | 
				
			||||||
    {  1352, 0x0052,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // R
 | 
					    {  1326, 0x004C,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // L
 | 
				
			||||||
    {  1482, 0x0053,  22,  13,  13,   0,  22,   0,   0, 0x00 }, // S
 | 
					    {  1456, 0x004D,  21,  13,  13,   0,  21,   0,   0, 0x00 }, // M
 | 
				
			||||||
    {  1625, 0x0054,  20,  13,  13,  -1,  19,   0,   0, 0x00 }, // T
 | 
					    {  1599, 0x004E,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // N
 | 
				
			||||||
    {  1755, 0x0056,  20,  13,  13,  -1,  18,   0,   0, 0x00 }, // V
 | 
					    {  1729, 0x004F,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // O
 | 
				
			||||||
    {  1885, 0x0061,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // a
 | 
					    {  1859, 0x0050,  21,  13,  13,   0,  20,   0,   0, 0x00 }, // P
 | 
				
			||||||
    {  2015, 0x0063,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // c
 | 
					    {  2002, 0x0052,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // R
 | 
				
			||||||
    {  2145, 0x0064,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // d
 | 
					    {  2132, 0x0053,  22,  13,  13,   0,  22,   0,   0, 0x00 }, // S
 | 
				
			||||||
    {  2275, 0x0065,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // e
 | 
					    {  2275, 0x0054,  20,  13,  13,  -1,  19,   0,   0, 0x00 }, // T
 | 
				
			||||||
    {  2405, 0x0067,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // g
 | 
					    {  2405, 0x0056,  20,  13,  13,  -1,  18,   0,   0, 0x00 }, // V
 | 
				
			||||||
    {  2535, 0x0069,   4,  13,  13,   0,   5,   0,   0, 0x00 }, // i
 | 
					    {  2535, 0x0058,  19,  13,  13,   0,  19,   0,   0, 0x00 }, // X
 | 
				
			||||||
    {  2561, 0x006B,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // k
 | 
					    {  2665, 0x0059,  19,  13,  13,  -1,  18,   0,   0, 0x00 }, // Y
 | 
				
			||||||
    {  2691, 0x006C,  15,  13,  13,   0,  14,   0,   0, 0x00 }, // l
 | 
					    {  2795, 0x0061,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // a
 | 
				
			||||||
    {  2795, 0x006E,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // n
 | 
					    {  2925, 0x0063,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // c
 | 
				
			||||||
    {  2925, 0x006F,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // o
 | 
					    {  3055, 0x0064,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // d
 | 
				
			||||||
    {  3055, 0x0070,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // p
 | 
					    {  3185, 0x0065,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // e
 | 
				
			||||||
    {  3185, 0x0072,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // r
 | 
					    {  3315, 0x0067,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // g
 | 
				
			||||||
    {  3315, 0x0073,  22,  13,  13,   0,  22,   0,   0, 0x00 }, // s
 | 
					    {  3445, 0x0069,   4,  13,  13,   0,   5,   0,   0, 0x00 }, // i
 | 
				
			||||||
    {  3458, 0x0074,  20,  13,  13,  -1,  19,   0,   0, 0x00 }, // t
 | 
					    {  3471, 0x006B,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // k
 | 
				
			||||||
    {  3588, 0x0075,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // u
 | 
					    {  3601, 0x006C,  15,  13,  13,   0,  14,   0,   0, 0x00 }, // l
 | 
				
			||||||
    {  3718, 0x0076,  20,  13,  13,  -1,  18,   0,   0, 0x00 }  // v
 | 
					    {  3705, 0x006E,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // n
 | 
				
			||||||
 | 
					    {  3835, 0x006F,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // o
 | 
				
			||||||
 | 
					    {  3965, 0x0070,  20,  13,  13,   0,  19,   0,   0, 0x00 }, // p
 | 
				
			||||||
 | 
					    {  4095, 0x0072,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // r
 | 
				
			||||||
 | 
					    {  4225, 0x0073,  22,  13,  13,   0,  22,   0,   0, 0x00 }, // s
 | 
				
			||||||
 | 
					    {  4368, 0x0074,  20,  13,  13,  -1,  19,   0,   0, 0x00 }, // t
 | 
				
			||||||
 | 
					    {  4498, 0x0075,  20,  13,  13,   0,  20,   0,   0, 0x00 }, // u
 | 
				
			||||||
 | 
					    {  4628, 0x0076,  20,  13,  13,  -1,  18,   0,   0, 0x00 }  // v
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// CHINN____20_4bpp
 | 
					// CHINN____20_4bpp
 | 
				
			||||||
@ -53,6 +60,6 @@ touchgfx::GeneratedFont& getFont_CHINN____20_4bpp();
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
touchgfx::GeneratedFont& getFont_CHINN____20_4bpp()
 | 
					touchgfx::GeneratedFont& getFont_CHINN____20_4bpp()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 32, 20, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0);
 | 
					    static touchgfx::GeneratedFont CHINN____20_4bpp(glyphs_CHINN____20_4bpp, 39, 20, 20, 0, 0, 4, 1, 1, 1, unicodes_CHINN____20_4bpp, kerning_CHINN____20_4bpp, 63, 0, 0, 0);
 | 
				
			||||||
    return CHINN____20_4bpp;
 | 
					    return CHINN____20_4bpp;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,101 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
					FONT_TABLE_LOCATION_FLASH_PRAGMA
 | 
				
			||||||
KEEP extern const touchgfx::GlyphNode glyphs_verdana_20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
					KEEP extern const touchgfx::GlyphNode glyphs_verdana_20_4bpp[] FONT_TABLE_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			||||||
    {     0, 0x003F,   9,  14,  14,   1,  11,   0,   0, 0x00 }
 | 
					    {     0, 0x0020,   0,   0,   0,   0,   7,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {     0, 0x0021,   3,  14,  14,   2,   8,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {    28, 0x0022,   7,   6,  15,   1,   9,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {    52, 0x0023,  14,  14,  14,   1,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   150, 0x0024,  11,  19,  15,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   264, 0x0025,  19,  14,  14,   1,  22,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   404, 0x0026,  14,  14,  14,   1,  15,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   502, 0x0027,   3,   6,  15,   1,   5,   0,   1, 0x00 },
 | 
				
			||||||
 | 
					    {   514, 0x0028,   7,  19,  15,   1,   9,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   590, 0x0029,   7,  19,  15,   1,   9,   1,   1, 0x00 },
 | 
				
			||||||
 | 
					    {   666, 0x002A,  10,   9,  15,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   711, 0x002B,  13,  12,  12,   2,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   795, 0x002C,   5,   7,   3,   1,   7,   2,  12, 0x00 },
 | 
				
			||||||
 | 
					    {   816, 0x002D,   7,   2,   7,   1,   9,  14,   8, 0x00 },
 | 
				
			||||||
 | 
					    {   824, 0x002E,   3,   3,   3,   2,   7,  22,  11, 0x00 },
 | 
				
			||||||
 | 
					    {   830, 0x002F,  10,  18,  15,  -1,   9,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {   920, 0x0030,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1004, 0x0031,   9,  14,  14,   2,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1074, 0x0032,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1158, 0x0033,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1242, 0x0034,  12,  14,  14,   0,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1326, 0x0035,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1410, 0x0036,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1494, 0x0037,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1578, 0x0038,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1662, 0x0039,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1746, 0x003A,   3,  11,  11,   3,   9,  33,   4, 0x00 },
 | 
				
			||||||
 | 
					    {  1768, 0x003B,   5,  15,  11,   2,   9,  37,   4, 0x00 },
 | 
				
			||||||
 | 
					    {  1813, 0x003C,  12,  12,  12,   2,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1885, 0x003D,  12,   6,   9,   2,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1921, 0x003E,  12,  12,  12,   2,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  1993, 0x003F,   9,  14,  14,   1,  11,  41,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  2063, 0x0040,  18,  17,  14,   1,  20,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2216, 0x0041,  14,  14,  14,   0,  14,  42,   4, 0x00 },
 | 
				
			||||||
 | 
					    {  2314, 0x0042,  12,  14,  14,   1,  14,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2398, 0x0043,  13,  14,  14,   1,  14,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2496, 0x0044,  14,  14,  14,   1,  15,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2594, 0x0045,  11,  14,  14,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2678, 0x0046,  11,  14,  14,   1,  12,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2762, 0x0047,  14,  14,  14,   1,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2860, 0x0048,  13,  14,  14,   1,  15,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  2958, 0x0049,   7,  14,  14,   1,   8,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3014, 0x004A,   8,  14,  14,   0,   9,  46,   2, 0x00 },
 | 
				
			||||||
 | 
					    {  3070, 0x004B,  12,  14,  14,   2,  14,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3154, 0x004C,  11,  14,  14,   1,  11,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3238, 0x004D,  14,  14,  14,   1,  17,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3336, 0x004E,  13,  14,  14,   1,  15,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3434, 0x004F,  14,  14,  14,   1,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3532, 0x0050,  11,  14,  14,   1,  12,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3616, 0x0051,  14,  18,  14,   1,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3742, 0x0052,  13,  14,  14,   1,  14,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3840, 0x0053,  12,  14,  14,   1,  14,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  3924, 0x0054,  13,  14,  14,   0,  12,  48,   5, 0x00 },
 | 
				
			||||||
 | 
					    {  4022, 0x0055,  12,  14,  14,   1,  15,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  4106, 0x0056,  14,  14,  14,   0,  14,  53,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  4204, 0x0057,  18,  14,  14,   1,  20,  54,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  4330, 0x0058,  13,  14,  14,   0,  14,  55,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  4428, 0x0059,  13,  14,  14,   0,  12,  56,   3, 0x00 },
 | 
				
			||||||
 | 
					    {  4526, 0x005A,  12,  14,  14,   1,  14,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  4610, 0x005B,   6,  19,  15,   2,   9,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  4667, 0x005C,  10,  18,  15,   0,   9,  59,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  4757, 0x005D,   6,  19,  15,   1,   9,  60,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  4814, 0x005E,  13,   8,  15,   2,  16,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  4870, 0x005F,  14,   2, 254,  -1,  13,   0,   0, 0x60 },
 | 
				
			||||||
 | 
					    {  4884, 0x0060,   5,   4,  16,   3,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  4896, 0x0061,  10,  11,  11,   1,  12,  61,   5, 0x00 },
 | 
				
			||||||
 | 
					    {  4951, 0x0062,  11,  15,  15,   1,  12,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5041, 0x0063,   9,  11,  11,   1,  10,  66,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  5096, 0x0064,  10,  15,  15,   1,  12,  67,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  5171, 0x0065,  10,  11,  11,   1,  12,  68,   5, 0x00 },
 | 
				
			||||||
 | 
					    {  5226, 0x0066,   8,  15,  15,   0,   7,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5286, 0x0067,  10,  15,  11,   1,  12,  73,   2, 0x00 },
 | 
				
			||||||
 | 
					    {  5361, 0x0068,  10,  15,  15,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5436, 0x0069,   3,  14,  14,   1,   5,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5464, 0x006A,   7,  18,  14,  -1,   7,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5536, 0x006B,  11,  15,  15,   1,  12,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5626, 0x006C,   3,  15,  15,   1,   5,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  5656, 0x006D,  17,  11,  11,   1,  19,  75,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  5755, 0x006E,  10,  11,  11,   1,  13,  76,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  5810, 0x006F,  11,  11,  11,   1,  12,  77,   5, 0x00 },
 | 
				
			||||||
 | 
					    {  5876, 0x0070,  11,  15,  11,   1,  12,  82,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  5966, 0x0071,  10,  15,  11,   1,  12,  83,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  6041, 0x0072,   8,  11,  11,   1,   9,  84,   2, 0x00 },
 | 
				
			||||||
 | 
					    {  6085, 0x0073,   9,  11,  11,   1,  10,  86,   2, 0x00 },
 | 
				
			||||||
 | 
					    {  6140, 0x0074,   8,  14,  14,   0,   8,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  6196, 0x0075,  10,  11,  11,   1,  13,  88,   2, 0x00 },
 | 
				
			||||||
 | 
					    {  6251, 0x0076,  12,  11,  11,   0,  12,  90,   4, 0x00 },
 | 
				
			||||||
 | 
					    {  6317, 0x0077,  16,  11,  11,   0,  16,  94,   2, 0x00 },
 | 
				
			||||||
 | 
					    {  6405, 0x0078,  12,  11,  11,   0,  12,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  6471, 0x0079,  12,  15,  11,   0,  12,  96,   7, 0x00 },
 | 
				
			||||||
 | 
					    {  6561, 0x007A,  10,  11,  11,   0,  11, 103,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  6616, 0x007B,  10,  19,  15,   1,  13,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  6711, 0x007C,   3,  19,  15,   3,   9,   0,   0, 0x00 },
 | 
				
			||||||
 | 
					    {  6749, 0x007D,  10,  19,  15,   1,  13, 104,   1, 0x00 },
 | 
				
			||||||
 | 
					    {  6844, 0x007E,  14,   5,   9,   1,  16,   0,   0, 0x00 }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// verdana_20_4bpp
 | 
					// verdana_20_4bpp
 | 
				
			||||||
@ -22,6 +116,6 @@ touchgfx::GeneratedFont& getFont_verdana_20_4bpp();
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
touchgfx::GeneratedFont& getFont_verdana_20_4bpp()
 | 
					touchgfx::GeneratedFont& getFont_verdana_20_4bpp()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    static touchgfx::GeneratedFont verdana_20_4bpp(glyphs_verdana_20_4bpp, 1, 20, 20, 0, 0, 4, 1, 0, 0, unicodes_verdana_20_4bpp, kerning_verdana_20_4bpp, 63, 0, 0, 0);
 | 
					    static touchgfx::GeneratedFont verdana_20_4bpp(glyphs_verdana_20_4bpp, 95, 24, 20, 0, 0, 4, 1, 1, 1, unicodes_verdana_20_4bpp, kerning_verdana_20_4bpp, 63, 0, 0, 0);
 | 
				
			||||||
    return verdana_20_4bpp;
 | 
					    return verdana_20_4bpp;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -24,7 +24,7 @@ DriverViewFieldBase::DriverViewFieldBase()
 | 
				
			|||||||
    value.setPosition(0, 20, 160, 57);
 | 
					    value.setPosition(0, 20, 160, 57);
 | 
				
			||||||
    value.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
					    value.setColor(touchgfx::Color::getColorFromRGB(255, 255, 255));
 | 
				
			||||||
    value.setLinespacing(0);
 | 
					    value.setLinespacing(0);
 | 
				
			||||||
    value.setTypedText(touchgfx::TypedText(T___SINGLEUSE_K26P));
 | 
					    value.setTypedText(touchgfx::TypedText(T_NUMBERWILDCARD));
 | 
				
			||||||
    add(value);
 | 
					    add(value);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1 +1 @@
 | 
				
			|||||||
{"remap":"yes","language":"GB","language_index":0,"indices":[["169","T_FIELD_TSCURRENT"],["164","T_FIELD_MINCELLVOLT"],["152","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["127","T_EBS_HUGE"],["106","T_TRACKDRIVE_HUGE"],["117","T_AUTOX_HUGE"],["138","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["127","T_EBS"],["106","T_TRACKDRIVE"],["117","T_AUTOX"],["138","T_SKIDPAD"],["82","T_ACCEL"],["136","T___SINGLEUSE_K26P"],["146","T___SINGLEUSE_0FBJ"],["173","T___SINGLEUSE_4OBM"],["170","T___SINGLEUSE_PHFD"],["158","T___SINGLEUSE_H6UX"],["136","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
					{"remap":"yes","language":"GB","language_index":0,"indices":[["252","T_FIELD_BBAL"],["209","T_FIELD_TSVOLTVEH"],["202","T_FIELD_TSVOLTBAT"],["228","T_FIELD_LVSOC"],["246","T_FIELD_TSSOC"],["262","T_FIELD_MAXCELLTEMP"],["267","T_FIELD_TIREFL"],["272","T_FIELD_TIREFR"],["277","T_FIELD_TIRERL"],["282","T_FIELD_TIRERR"],["257","T_FIELD_LAPCOUNT"],["146","T_FIELD_INICHKSTATE"],["216","T_FIELD_ERR"],["296","T_FIELD_SDC"],["162","T_FIELD_INVRREADY"],["154","T_FIELD_INVLREADY"],["178","T_FIELD_R2DPROGRESS"],["170","T_FIELD_ACTIVEMISSION"],["138","T_FIELD_ASSTATE"],["194","T_FIELD_TSSTATE"],["136","T_NUMBERWILDCARD"],["136","T_DEFAULTWILDCARD"],["292","T_FIELD_TSCURRENT"],["287","T_FIELD_MINCELLVOLT"],["234","T_FIELD_SPEED"],["95","T_INSPECTION_HUGE"],["127","T_EBS_HUGE"],["106","T_TRACKDRIVE_HUGE"],["117","T_AUTOX_HUGE"],["186","T_SKIDPAD_HUGE"],["82","T_ACCEL_HUGE"],["34","T_INVALID_HUGE"],["67","T_MANUAL"],["95","T_INSPECTION"],["127","T_EBS"],["106","T_TRACKDRIVE"],["117","T_AUTOX"],["186","T_SKIDPAD"],["82","T_ACCEL"],["222","T___SINGLEUSE_0FBJ"],["300","T___SINGLEUSE_4OBM"],["293","T___SINGLEUSE_PHFD"],["240","T___SINGLEUSE_H6UX"],["136","T___SINGLEUSE_20H3"],["17","T___SINGLEUSE_SDGP"],["51","T___SINGLEUSE_M5X7"],["0","T___SINGLEUSE_6GPV"]]}
 | 
				
			||||||
@ -1 +1 @@
 | 
				
			|||||||
{"languages":["GB"],"textids":["T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_K26P","T___SINGLEUSE_0FBJ","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
 | 
					{"languages":["GB"],"textids":["T_FIELD_BBAL","T_FIELD_TSVOLTVEH","T_FIELD_TSVOLTBAT","T_FIELD_LVSOC","T_FIELD_TSSOC","T_FIELD_MAXCELLTEMP","T_FIELD_TIREFL","T_FIELD_TIREFR","T_FIELD_TIRERL","T_FIELD_TIRERR","T_FIELD_LAPCOUNT","T_FIELD_INICHKSTATE","T_FIELD_ERR","T_FIELD_SDC","T_FIELD_INVRREADY","T_FIELD_INVLREADY","T_FIELD_R2DPROGRESS","T_FIELD_ACTIVEMISSION","T_FIELD_ASSTATE","T_FIELD_TSSTATE","T_NUMBERWILDCARD","T_DEFAULTWILDCARD","T_FIELD_TSCURRENT","T_FIELD_MINCELLVOLT","T_FIELD_SPEED","T_INSPECTION_HUGE","T_EBS_HUGE","T_TRACKDRIVE_HUGE","T_AUTOX_HUGE","T_SKIDPAD_HUGE","T_ACCEL_HUGE","T_INVALID_HUGE","T_MANUAL","T_INSPECTION","T_EBS","T_TRACKDRIVE","T_AUTOX","T_SKIDPAD","T_ACCEL","T___SINGLEUSE_0FBJ","T___SINGLEUSE_4OBM","T___SINGLEUSE_PHFD","T___SINGLEUSE_H6UX","T___SINGLEUSE_20H3","T___SINGLEUSE_SDGP","T___SINGLEUSE_M5X7","T___SINGLEUSE_6GPV"]}
 | 
				
			||||||
@ -1 +1 @@
 | 
				
			|||||||
{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,84,114,97,99,107,100,114,105,118,101,0,65,117,116,111,99,114,111,115,115,0,69,66,83,32,84,101,115,116,0,2,0,83,107,105,100,112,97,100,0,70,73,69,76,68,0,83,80,69,69,68,0,84,73,82,69,83,0,86,77,73,78,0,73,84,83,0,76,86,0]}
 | 
					{"remap":"yes","languages":["Gb"],"characters":[67,104,111,111,115,101,32,97,32,109,105,115,115,105,111,110,0,67,117,114,114,101,110,116,32,77,105,115,115,105,111,110,58,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,33,0,73,110,118,97,108,105,100,32,77,105,115,115,105,111,110,0,77,97,110,117,97,108,32,68,114,105,118,105,110,103,0,65,99,99,101,108,101,114,97,116,105,111,110,0,73,110,115,112,101,99,116,105,111,110,0,84,114,97,99,107,100,114,105,118,101,0,65,117,116,111,99,114,111,115,115,0,69,66,83,32,84,101,115,116,0,2,0,65,83,83,84,65,84,69,0,73,67,83,84,65,84,69,0,73,78,86,76,82,68,89,0,73,78,86,82,82,68,89,0,77,73,83,83,73,79,78,0,82,50,68,80,82,79,71,0,83,107,105,100,112,97,100,0,84,83,83,84,65,84,69,0,84,83,86,66,65,84,0,84,83,86,86,69,72,0,69,82,82,79,82,0,70,73,69,76,68,0,76,86,83,79,67,0,83,80,69,69,68,0,84,73,82,69,83,0,84,83,83,79,67,0,66,66,65,76,0,76,65,80,83,0,84,77,65,88,0,84,84,70,76,0,84,84,70,82,0,84,84,82,76,0,84,84,82,82,0,86,77,73,78,0,73,84,83,0,83,68,67,0,76,86,0]}
 | 
				
			||||||
@ -1 +1 @@
 | 
				
			|||||||
{"databases":{"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4},"generate_font_format":"0"}
 | 
					{"databases":{"DEFAULT":[[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[0,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[3,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[2,"CENTER","LTR"],[4,"CENTER","LTR"],[1,"LEFT","LTR"],[2,"CENTER","LTR"],[1,"LEFT","LTR"]]},"database_list":["DEFAULT"],"fonts":{"getFont_verdana_20_4bpp":0,"getFont_CHINN____30_4bpp":1,"getFont_CHINN____20_4bpp":2,"getFont_CHINN____40_4bpp":3,"getFont_lucon_TTF_50_4bpp":4},"generate_font_format":"0"}
 | 
				
			||||||
@ -12,6 +12,28 @@ enum LANGUAGES
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
enum TEXTS
 | 
					enum TEXTS
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
					    T_FIELD_BBAL,
 | 
				
			||||||
 | 
					    T_FIELD_TSVOLTVEH,
 | 
				
			||||||
 | 
					    T_FIELD_TSVOLTBAT,
 | 
				
			||||||
 | 
					    T_FIELD_LVSOC,
 | 
				
			||||||
 | 
					    T_FIELD_TSSOC,
 | 
				
			||||||
 | 
					    T_FIELD_MAXCELLTEMP,
 | 
				
			||||||
 | 
					    T_FIELD_TIREFL,
 | 
				
			||||||
 | 
					    T_FIELD_TIREFR,
 | 
				
			||||||
 | 
					    T_FIELD_TIRERL,
 | 
				
			||||||
 | 
					    T_FIELD_TIRERR,
 | 
				
			||||||
 | 
					    T_FIELD_LAPCOUNT,
 | 
				
			||||||
 | 
					    T_FIELD_INICHKSTATE,
 | 
				
			||||||
 | 
					    T_FIELD_ERR,
 | 
				
			||||||
 | 
					    T_FIELD_SDC,
 | 
				
			||||||
 | 
					    T_FIELD_INVRREADY,
 | 
				
			||||||
 | 
					    T_FIELD_INVLREADY,
 | 
				
			||||||
 | 
					    T_FIELD_R2DPROGRESS,
 | 
				
			||||||
 | 
					    T_FIELD_ACTIVEMISSION,
 | 
				
			||||||
 | 
					    T_FIELD_ASSTATE,
 | 
				
			||||||
 | 
					    T_FIELD_TSSTATE,
 | 
				
			||||||
 | 
					    T_NUMBERWILDCARD,
 | 
				
			||||||
 | 
					    T_DEFAULTWILDCARD,
 | 
				
			||||||
    T_FIELD_TSCURRENT,
 | 
					    T_FIELD_TSCURRENT,
 | 
				
			||||||
    T_FIELD_MINCELLVOLT,
 | 
					    T_FIELD_MINCELLVOLT,
 | 
				
			||||||
    T_FIELD_SPEED,
 | 
					    T_FIELD_SPEED,
 | 
				
			||||||
@ -29,7 +51,6 @@ enum TEXTS
 | 
				
			|||||||
    T_AUTOX,
 | 
					    T_AUTOX,
 | 
				
			||||||
    T_SKIDPAD,
 | 
					    T_SKIDPAD,
 | 
				
			||||||
    T_ACCEL,
 | 
					    T_ACCEL,
 | 
				
			||||||
    T___SINGLEUSE_K26P,
 | 
					 | 
				
			||||||
    T___SINGLEUSE_0FBJ,
 | 
					    T___SINGLEUSE_0FBJ,
 | 
				
			||||||
    T___SINGLEUSE_4OBM,
 | 
					    T___SINGLEUSE_4OBM,
 | 
				
			||||||
    T___SINGLEUSE_PHFD,
 | 
					    T___SINGLEUSE_PHFD,
 | 
				
			||||||
 | 
				
			|||||||
@ -10,14 +10,36 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE;
 | 
				
			|||||||
// Remap all strings
 | 
					// Remap all strings
 | 
				
			||||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
					TEXT_LOCATION_FLASH_PRAGMA
 | 
				
			||||||
KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
					KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			||||||
    169, // T_FIELD_TSCURRENT: "ITS"
 | 
					    252, // T_FIELD_BBAL: "BBAL"
 | 
				
			||||||
    164, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
					    209, // T_FIELD_TSVOLTVEH: "TSVVEH"
 | 
				
			||||||
    152, // T_FIELD_SPEED: "SPEED"
 | 
					    202, // T_FIELD_TSVOLTBAT: "TSVBAT"
 | 
				
			||||||
 | 
					    228, // T_FIELD_LVSOC: "LVSOC"
 | 
				
			||||||
 | 
					    246, // T_FIELD_TSSOC: "TSSOC"
 | 
				
			||||||
 | 
					    262, // T_FIELD_MAXCELLTEMP: "TMAX"
 | 
				
			||||||
 | 
					    267, // T_FIELD_TIREFL: "TTFL"
 | 
				
			||||||
 | 
					    272, // T_FIELD_TIREFR: "TTFR"
 | 
				
			||||||
 | 
					    277, // T_FIELD_TIRERL: "TTRL"
 | 
				
			||||||
 | 
					    282, // T_FIELD_TIRERR: "TTRR"
 | 
				
			||||||
 | 
					    257, // T_FIELD_LAPCOUNT: "LAPS"
 | 
				
			||||||
 | 
					    146, // T_FIELD_INICHKSTATE: "ICSTATE"
 | 
				
			||||||
 | 
					    216, // T_FIELD_ERR: "ERROR"
 | 
				
			||||||
 | 
					    296, // T_FIELD_SDC: "SDC"
 | 
				
			||||||
 | 
					    162, // T_FIELD_INVRREADY: "INVRRDY"
 | 
				
			||||||
 | 
					    154, // T_FIELD_INVLREADY: "INVLRDY"
 | 
				
			||||||
 | 
					    178, // T_FIELD_R2DPROGRESS: "R2DPROG"
 | 
				
			||||||
 | 
					    170, // T_FIELD_ACTIVEMISSION: "MISSION"
 | 
				
			||||||
 | 
					    138, // T_FIELD_ASSTATE: "ASSTATE"
 | 
				
			||||||
 | 
					    194, // T_FIELD_TSSTATE: "TSSTATE"
 | 
				
			||||||
 | 
					    136, // T_NUMBERWILDCARD: "<>"
 | 
				
			||||||
 | 
					    136, // T_DEFAULTWILDCARD: "<>"
 | 
				
			||||||
 | 
					    292, // T_FIELD_TSCURRENT: "ITS"
 | 
				
			||||||
 | 
					    287, // T_FIELD_MINCELLVOLT: "VMIN"
 | 
				
			||||||
 | 
					    234, // T_FIELD_SPEED: "SPEED"
 | 
				
			||||||
    95,  // T_INSPECTION_HUGE: "Inspection"
 | 
					    95,  // T_INSPECTION_HUGE: "Inspection"
 | 
				
			||||||
    127, // T_EBS_HUGE: "EBS Test"
 | 
					    127, // T_EBS_HUGE: "EBS Test"
 | 
				
			||||||
    106, // T_TRACKDRIVE_HUGE: "Trackdrive"
 | 
					    106, // T_TRACKDRIVE_HUGE: "Trackdrive"
 | 
				
			||||||
    117, // T_AUTOX_HUGE: "Autocross"
 | 
					    117, // T_AUTOX_HUGE: "Autocross"
 | 
				
			||||||
    138, // T_SKIDPAD_HUGE: "Skidpad"
 | 
					    186, // T_SKIDPAD_HUGE: "Skidpad"
 | 
				
			||||||
    82,  // T_ACCEL_HUGE: "Acceleration"
 | 
					    82,  // T_ACCEL_HUGE: "Acceleration"
 | 
				
			||||||
    34,  // T_INVALID_HUGE: "Invalid Mission!"
 | 
					    34,  // T_INVALID_HUGE: "Invalid Mission!"
 | 
				
			||||||
    67,  // T_MANUAL: "Manual Driving"
 | 
					    67,  // T_MANUAL: "Manual Driving"
 | 
				
			||||||
@ -25,13 +47,12 @@ KEEP extern const uint32_t indicesGb[] TEXT_LOCATION_FLASH_ATTRIBUTE = {
 | 
				
			|||||||
    127, // T_EBS: "EBS Test"
 | 
					    127, // T_EBS: "EBS Test"
 | 
				
			||||||
    106, // T_TRACKDRIVE: "Trackdrive"
 | 
					    106, // T_TRACKDRIVE: "Trackdrive"
 | 
				
			||||||
    117, // T_AUTOX: "Autocross"
 | 
					    117, // T_AUTOX: "Autocross"
 | 
				
			||||||
    138, // T_SKIDPAD: "Skidpad"
 | 
					    186, // T_SKIDPAD: "Skidpad"
 | 
				
			||||||
    82,  // T_ACCEL: "Acceleration"
 | 
					    82,  // T_ACCEL: "Acceleration"
 | 
				
			||||||
    136, // T___SINGLEUSE_K26P: "<>"
 | 
					    222, // T___SINGLEUSE_0FBJ: "FIELD"
 | 
				
			||||||
    146, // T___SINGLEUSE_0FBJ: "FIELD"
 | 
					    300, // T___SINGLEUSE_4OBM: "LV"
 | 
				
			||||||
    173, // T___SINGLEUSE_4OBM: "LV"
 | 
					    293, // T___SINGLEUSE_PHFD: "TS"
 | 
				
			||||||
    170, // T___SINGLEUSE_PHFD: "TS"
 | 
					    240, // T___SINGLEUSE_H6UX: "TIRES"
 | 
				
			||||||
    158, // T___SINGLEUSE_H6UX: "TIRES"
 | 
					 | 
				
			||||||
    136, // T___SINGLEUSE_20H3: "<>"
 | 
					    136, // T___SINGLEUSE_20H3: "<>"
 | 
				
			||||||
    17,  // T___SINGLEUSE_SDGP: "Current Mission:"
 | 
					    17,  // T___SINGLEUSE_SDGP: "Current Mission:"
 | 
				
			||||||
    51,  // T___SINGLEUSE_M5X7: "Invalid Mission"
 | 
					    51,  // T___SINGLEUSE_M5X7: "Invalid Mission"
 | 
				
			||||||
 | 
				
			|||||||
@ -71,13 +71,33 @@ KEEP extern const touchgfx::Unicode::UnicodeChar texts_all_languages[] TEXT_LOCA
 | 
				
			|||||||
    0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @117 "Autocross"
 | 
					    0x41, 0x75, 0x74, 0x6f, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x0, // @117 "Autocross"
 | 
				
			||||||
    0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @127 "EBS Test"
 | 
					    0x45, 0x42, 0x53, 0x20, 0x54, 0x65, 0x73, 0x74, 0x0, // @127 "EBS Test"
 | 
				
			||||||
    0x2, 0x0, // @136 "<>"
 | 
					    0x2, 0x0, // @136 "<>"
 | 
				
			||||||
    0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @138 "Skidpad"
 | 
					    0x41, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @138 "ASSTATE"
 | 
				
			||||||
    0x46, 0x49, 0x45, 0x4c, 0x44, 0x0, // @146 "FIELD"
 | 
					    0x49, 0x43, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @146 "ICSTATE"
 | 
				
			||||||
    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @152 "SPEED"
 | 
					    0x49, 0x4e, 0x56, 0x4c, 0x52, 0x44, 0x59, 0x0, // @154 "INVLRDY"
 | 
				
			||||||
    0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @158 "TIRES"
 | 
					    0x49, 0x4e, 0x56, 0x52, 0x52, 0x44, 0x59, 0x0, // @162 "INVRRDY"
 | 
				
			||||||
    0x56, 0x4d, 0x49, 0x4e, 0x0, // @164 "VMIN"
 | 
					    0x4d, 0x49, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x0, // @170 "MISSION"
 | 
				
			||||||
    0x49, 0x54, 0x53, 0x0, // @169 "ITS"
 | 
					    0x52, 0x32, 0x44, 0x50, 0x52, 0x4f, 0x47, 0x0, // @178 "R2DPROG"
 | 
				
			||||||
    0x4c, 0x56, 0x0 // @173 "LV"
 | 
					    0x53, 0x6b, 0x69, 0x64, 0x70, 0x61, 0x64, 0x0, // @186 "Skidpad"
 | 
				
			||||||
 | 
					    0x54, 0x53, 0x53, 0x54, 0x41, 0x54, 0x45, 0x0, // @194 "TSSTATE"
 | 
				
			||||||
 | 
					    0x54, 0x53, 0x56, 0x42, 0x41, 0x54, 0x0, // @202 "TSVBAT"
 | 
				
			||||||
 | 
					    0x54, 0x53, 0x56, 0x56, 0x45, 0x48, 0x0, // @209 "TSVVEH"
 | 
				
			||||||
 | 
					    0x45, 0x52, 0x52, 0x4f, 0x52, 0x0, // @216 "ERROR"
 | 
				
			||||||
 | 
					    0x46, 0x49, 0x45, 0x4c, 0x44, 0x0, // @222 "FIELD"
 | 
				
			||||||
 | 
					    0x4c, 0x56, 0x53, 0x4f, 0x43, 0x0, // @228 "LVSOC"
 | 
				
			||||||
 | 
					    0x53, 0x50, 0x45, 0x45, 0x44, 0x0, // @234 "SPEED"
 | 
				
			||||||
 | 
					    0x54, 0x49, 0x52, 0x45, 0x53, 0x0, // @240 "TIRES"
 | 
				
			||||||
 | 
					    0x54, 0x53, 0x53, 0x4f, 0x43, 0x0, // @246 "TSSOC"
 | 
				
			||||||
 | 
					    0x42, 0x42, 0x41, 0x4c, 0x0, // @252 "BBAL"
 | 
				
			||||||
 | 
					    0x4c, 0x41, 0x50, 0x53, 0x0, // @257 "LAPS"
 | 
				
			||||||
 | 
					    0x54, 0x4d, 0x41, 0x58, 0x0, // @262 "TMAX"
 | 
				
			||||||
 | 
					    0x54, 0x54, 0x46, 0x4c, 0x0, // @267 "TTFL"
 | 
				
			||||||
 | 
					    0x54, 0x54, 0x46, 0x52, 0x0, // @272 "TTFR"
 | 
				
			||||||
 | 
					    0x54, 0x54, 0x52, 0x4c, 0x0, // @277 "TTRL"
 | 
				
			||||||
 | 
					    0x54, 0x54, 0x52, 0x52, 0x0, // @282 "TTRR"
 | 
				
			||||||
 | 
					    0x56, 0x4d, 0x49, 0x4e, 0x0, // @287 "VMIN"
 | 
				
			||||||
 | 
					    0x49, 0x54, 0x53, 0x0, // @292 "ITS"
 | 
				
			||||||
 | 
					    0x53, 0x44, 0x43, 0x0, // @296 "SDC"
 | 
				
			||||||
 | 
					    0x4c, 0x56, 0x0 // @300 "LV"
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TEXT_LOCATION_FLASH_PRAGMA
 | 
					TEXT_LOCATION_FLASH_PRAGMA
 | 
				
			||||||
 | 
				
			|||||||
@ -27,13 +27,16 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
 | 
				
			|||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
@ -42,6 +45,24 @@ const touchgfx::TypedText::TypedTextData typedText_database_DEFAULT[] TEXT_LOCAT
 | 
				
			|||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 4, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 4, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 0, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 3, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
					    { 2, touchgfx::CENTER, touchgfx::TEXT_DIRECTION_LTR },
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										36
									
								
								TouchGFX/gui/include/gui/common/DataField.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								TouchGFX/gui/include/gui/common/DataField.hpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,36 @@
 | 
				
			|||||||
 | 
					#ifndef DATAFIELD_HPP
 | 
				
			||||||
 | 
					#define DATAFIELD_HPP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "touchgfx/TypedText.hpp"
 | 
				
			||||||
 | 
					#include <stddef.h>
 | 
				
			||||||
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// We want to automatically count the number of data field types for the
 | 
				
			||||||
 | 
					// description array. This is wacky preprocessor magic that allows us to do just
 | 
				
			||||||
 | 
					// that. Unfortunately, it doesn't work with enum classes, so we have to use
 | 
				
			||||||
 | 
					// C-style enums.
 | 
				
			||||||
 | 
					#define CountedEnum(NAME, TYPE, ...)                                           \
 | 
				
			||||||
 | 
					  enum NAME : TYPE { __VA_ARGS__ };                                            \
 | 
				
			||||||
 | 
					  constexpr size_t NAME##_COUNT = sizeof((int[]){__VA_ARGS__}) / sizeof(int);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CountedEnum(DataFieldType, size_t, DF_TSState, DF_ASState, DF_ActiveMission,
 | 
				
			||||||
 | 
					            DF_R2DProgress, DF_INVLReady, DF_INVRReady, DF_SDC, DF_ERR,
 | 
				
			||||||
 | 
					            DF_IniChkState, DF_LapCount, DF_TireTempFL, DF_TireTempFR,
 | 
				
			||||||
 | 
					            DF_TireTempRL, DF_TireTempRR, DF_MinCellVolt, DF_MaxCellTemp,
 | 
				
			||||||
 | 
					            DF_TSSoC, DF_LVSoC, DF_TSCurrent, DF_TSVoltageBat, DF_TSVoltageVeh,
 | 
				
			||||||
 | 
					            DF_Speed, DF_BBal);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					enum class DataFieldKind { Numeric, Bool, Text };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct DataFieldDescription {
 | 
				
			||||||
 | 
					  DataFieldKind kind;
 | 
				
			||||||
 | 
					  touchgfx::TypedText title;
 | 
				
			||||||
 | 
					  size_t int_digits;
 | 
				
			||||||
 | 
					  size_t decimal_digits;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void* (*getValue)(void);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					extern DataFieldDescription dataFieldDescs[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // DATAFIELD_HPP
 | 
				
			||||||
@ -5,6 +5,8 @@
 | 
				
			|||||||
#include "touchgfx/Unicode.hpp"
 | 
					#include "touchgfx/Unicode.hpp"
 | 
				
			||||||
#include <gui_generated/containers/DriverViewFieldBase.hpp>
 | 
					#include <gui_generated/containers/DriverViewFieldBase.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DriverViewField : public DriverViewFieldBase {
 | 
					class DriverViewField : public DriverViewFieldBase {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  DriverViewField();
 | 
					  DriverViewField();
 | 
				
			||||||
@ -12,16 +14,20 @@ public:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  virtual void initialize();
 | 
					  virtual void initialize();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void setName(const touchgfx::TypedText &text);
 | 
					  void setType(const DataFieldDescription &desc);
 | 
				
			||||||
  void setValue(float newValue);
 | 
					  void setValue(float newValue);
 | 
				
			||||||
  void setPrecision(size_t intDigits, size_t decimalDigits);
 | 
					  void setValue(const char *str);
 | 
				
			||||||
 | 
					  void setValue(int boolValue);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  Unicode::UnicodeChar valueBuffer[16];
 | 
					  Unicode::UnicodeChar valueBuffer[16];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  DataFieldKind fieldKind;
 | 
				
			||||||
  size_t intDigits;
 | 
					  size_t intDigits;
 | 
				
			||||||
  size_t decimalDigits;
 | 
					  size_t decimalDigits;
 | 
				
			||||||
  float fieldValue;
 | 
					  float floatValue;
 | 
				
			||||||
 | 
					  int boolValue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void updateValueBuffer();
 | 
					  void updateValueBuffer();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
				
			|||||||
@ -4,6 +4,8 @@
 | 
				
			|||||||
#include <gui/model/ModelListener.hpp>
 | 
					#include <gui/model/ModelListener.hpp>
 | 
				
			||||||
#include <mvp/Presenter.hpp>
 | 
					#include <mvp/Presenter.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
using namespace touchgfx;
 | 
					using namespace touchgfx;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class DriverViewView;
 | 
					class DriverViewView;
 | 
				
			||||||
@ -33,6 +35,8 @@ private:
 | 
				
			|||||||
  DriverViewPresenter();
 | 
					  DriverViewPresenter();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  DriverViewView &view;
 | 
					  DriverViewView &view;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  DataFieldType fields[3];
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // DRIVERVIEWPRESENTER_HPP
 | 
					#endif // DRIVERVIEWPRESENTER_HPP
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,7 @@
 | 
				
			|||||||
#ifndef DRIVERVIEWVIEW_HPP
 | 
					#ifndef DRIVERVIEWVIEW_HPP
 | 
				
			||||||
#define DRIVERVIEWVIEW_HPP
 | 
					#define DRIVERVIEWVIEW_HPP
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
#include "vehicle.h"
 | 
					#include "vehicle.h"
 | 
				
			||||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
 | 
					#include <gui/driverview_screen/DriverViewPresenter.hpp>
 | 
				
			||||||
#include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
 | 
					#include <gui_generated/driverview_screen/DriverViewViewBase.hpp>
 | 
				
			||||||
@ -12,11 +13,17 @@ public:
 | 
				
			|||||||
  virtual void setupScreen();
 | 
					  virtual void setupScreen();
 | 
				
			||||||
  virtual void tearDownScreen();
 | 
					  virtual void tearDownScreen();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  void setFieldType(size_t i, const DataFieldDescription &desc);
 | 
				
			||||||
 | 
					  void setFieldValue(size_t i, float value);
 | 
				
			||||||
 | 
					  void setFieldValue(size_t i, const char *value);
 | 
				
			||||||
 | 
					  void setFieldValue(size_t i, int value);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  void setTireTemps(const TireTemps &temps);
 | 
					  void setTireTemps(const TireTemps &temps);
 | 
				
			||||||
  void setTSSoC(uint8_t soc);
 | 
					  void setTSSoC(uint8_t soc);
 | 
				
			||||||
  void setMinCellVolt(float v);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					  DriverViewField &getField(size_t i);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // DRIVERVIEWVIEW_HPP
 | 
					#endif // DRIVERVIEWVIEW_HPP
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										110
									
								
								TouchGFX/gui/src/common/DataField.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								TouchGFX/gui/src/common/DataField.cpp
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,110 @@
 | 
				
			|||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
 | 
					#include "texts/TextKeysAndLanguages.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "vehicle.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define VEH_FIELD(FIELD) []() { return (void *)&vehicle_state.FIELD; }
 | 
				
			||||||
 | 
					#define VEH_BIT_FIELD(FIELD)                                                   \
 | 
				
			||||||
 | 
					  []() {                                                                       \
 | 
				
			||||||
 | 
					    static int x;                                                              \
 | 
				
			||||||
 | 
					    x = vehicle_state.FIELD;                                                   \
 | 
				
			||||||
 | 
					    return (void *)&x;                                                         \
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void *get_sdc_text() {
 | 
				
			||||||
 | 
					  if (vehicle_state.errors.sdc_bfl) {
 | 
				
			||||||
 | 
					    return (void *)"BFL";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.sdc_brl) {
 | 
				
			||||||
 | 
					    return (void *)"BRL";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.sdc_acc) {
 | 
				
			||||||
 | 
					    return (void *)"ACC";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.sdc_hvb) {
 | 
				
			||||||
 | 
					    return (void *)"HVB";
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    return (void *)"CLOSED";
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void *get_err_text() {
 | 
				
			||||||
 | 
					  if (vehicle_state.errors.err_sdc) {
 | 
				
			||||||
 | 
					    return (void *)"SDC";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_ams) {
 | 
				
			||||||
 | 
					    return (void *)"AMS";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_pdu) {
 | 
				
			||||||
 | 
					    return (void *)"PDU";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_ini_chk) {
 | 
				
			||||||
 | 
					    return (void *)"IniChk";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_con_mon) {
 | 
				
			||||||
 | 
					    return (void *)"ConMon";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_scs) {
 | 
				
			||||||
 | 
					    return (void *)"SCS";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_sbspd) {
 | 
				
			||||||
 | 
					    return (void *)"sBSPD";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_appsp) {
 | 
				
			||||||
 | 
					    return (void *)"APPSp";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_as) {
 | 
				
			||||||
 | 
					    return (void *)"AS";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_ros) {
 | 
				
			||||||
 | 
					    return (void *)"ROS";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_res) {
 | 
				
			||||||
 | 
					    return (void *)"RES";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_invl) {
 | 
				
			||||||
 | 
					    return (void *)"INVL";
 | 
				
			||||||
 | 
					  } else if (vehicle_state.errors.err_invr) {
 | 
				
			||||||
 | 
					    return (void *)"INVR";
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    return (void *)"NONE";
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void *get_zero() {
 | 
				
			||||||
 | 
					  static float zero = 0.0f;
 | 
				
			||||||
 | 
					  return &zero;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DataFieldDescription dataFieldDescs[] = {
 | 
				
			||||||
 | 
					    [DF_TSState] = {DataFieldKind::Numeric, T_FIELD_TSSTATE, 1, 0,
 | 
				
			||||||
 | 
					                    VEH_FIELD(ts_state)},
 | 
				
			||||||
 | 
					    [DF_ASState] = {DataFieldKind::Numeric, T_FIELD_ASSTATE, 1, 0,
 | 
				
			||||||
 | 
					                    VEH_FIELD(as_state)},
 | 
				
			||||||
 | 
					    [DF_ActiveMission] = {DataFieldKind::Numeric, T_FIELD_ACTIVEMISSION, 1, 0,
 | 
				
			||||||
 | 
					                          VEH_FIELD(active_mission)},
 | 
				
			||||||
 | 
					    [DF_R2DProgress] = {DataFieldKind::Numeric, T_FIELD_R2DPROGRESS, 1, 0,
 | 
				
			||||||
 | 
					                        VEH_FIELD(r2d_progress)},
 | 
				
			||||||
 | 
					    [DF_INVLReady] = {DataFieldKind::Bool, T_FIELD_INVLREADY, 0, 0,
 | 
				
			||||||
 | 
					                      VEH_BIT_FIELD(errors.invl_ready)},
 | 
				
			||||||
 | 
					    [DF_INVRReady] = {DataFieldKind::Bool, T_FIELD_INVRREADY, 0, 0,
 | 
				
			||||||
 | 
					                      VEH_BIT_FIELD(errors.invr_ready)},
 | 
				
			||||||
 | 
					    [DF_SDC] = {DataFieldKind::Text, T_FIELD_SDC, 0, 0, get_sdc_text},
 | 
				
			||||||
 | 
					    [DF_ERR] = {DataFieldKind::Text, T_FIELD_ERR, 0, 0, get_err_text},
 | 
				
			||||||
 | 
					    [DF_IniChkState] = {DataFieldKind::Numeric, T_FIELD_INICHKSTATE, 1, 0,
 | 
				
			||||||
 | 
					                        VEH_FIELD(ini_chk_state)},
 | 
				
			||||||
 | 
					    [DF_LapCount] = {DataFieldKind::Numeric, T_FIELD_LAPCOUNT, 3, 0,
 | 
				
			||||||
 | 
					                     VEH_FIELD(lap_count)},
 | 
				
			||||||
 | 
					    [DF_TireTempFL] = {DataFieldKind::Numeric, T_FIELD_TIREFL, 2, 1,
 | 
				
			||||||
 | 
					                       VEH_FIELD(tire_temps.fl)},
 | 
				
			||||||
 | 
					    [DF_TireTempFR] = {DataFieldKind::Numeric, T_FIELD_TIREFR, 2, 1,
 | 
				
			||||||
 | 
					                       VEH_FIELD(tire_temps.fr)},
 | 
				
			||||||
 | 
					    [DF_TireTempRL] = {DataFieldKind::Numeric, T_FIELD_TIRERL, 2, 1,
 | 
				
			||||||
 | 
					                       VEH_FIELD(tire_temps.rl)},
 | 
				
			||||||
 | 
					    [DF_TireTempRR] = {DataFieldKind::Numeric, T_FIELD_TIRERR, 2, 1,
 | 
				
			||||||
 | 
					                       VEH_FIELD(tire_temps.rr)},
 | 
				
			||||||
 | 
					    [DF_MinCellVolt] = {DataFieldKind::Numeric, T_FIELD_MINCELLVOLT, 1, 2,
 | 
				
			||||||
 | 
					                        VEH_FIELD(min_cell_volt)},
 | 
				
			||||||
 | 
					    [DF_MaxCellTemp] = {DataFieldKind::Numeric, T_FIELD_MAXCELLTEMP, 2, 1,
 | 
				
			||||||
 | 
					                        VEH_FIELD(max_cell_temp)},
 | 
				
			||||||
 | 
					    [DF_TSSoC] = {DataFieldKind::Numeric, T_FIELD_TSSOC, 3, 0, VEH_FIELD(soc)},
 | 
				
			||||||
 | 
					    [DF_LVSoC] = {DataFieldKind::Numeric, T_FIELD_LVSOC, 3, 0, get_zero},
 | 
				
			||||||
 | 
					    [DF_TSCurrent] = {DataFieldKind::Numeric, T_FIELD_TSCURRENT, 3, 0,
 | 
				
			||||||
 | 
					                      VEH_FIELD(ts_current)},
 | 
				
			||||||
 | 
					    [DF_TSVoltageBat] = {DataFieldKind::Numeric, T_FIELD_TSVOLTBAT, 3, 1,
 | 
				
			||||||
 | 
					                         VEH_FIELD(ts_voltage_bat)},
 | 
				
			||||||
 | 
					    [DF_TSVoltageVeh] = {DataFieldKind::Numeric, T_FIELD_TSVOLTVEH, 3, 1,
 | 
				
			||||||
 | 
					                         VEH_FIELD(ts_voltage_veh)},
 | 
				
			||||||
 | 
					    [DF_Speed] = {DataFieldKind::Numeric, T_FIELD_SPEED, 3, 0, get_zero},
 | 
				
			||||||
 | 
					    [DF_BBal] = {DataFieldKind::Numeric, T_FIELD_BBAL, 3, 1, get_zero},
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static_assert(sizeof(dataFieldDescs) / sizeof(dataFieldDescs[0]) ==
 | 
				
			||||||
 | 
					                  DataFieldType_COUNT,
 | 
				
			||||||
 | 
					              "Incorrect number of data field descriptions");
 | 
				
			||||||
@ -1,35 +1,72 @@
 | 
				
			|||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
 | 
					#include "texts/TextKeysAndLanguages.hpp"
 | 
				
			||||||
#include "touchgfx/Unicode.hpp"
 | 
					#include "touchgfx/Unicode.hpp"
 | 
				
			||||||
#include <gui/containers/DriverViewField.hpp>
 | 
					#include <gui/containers/DriverViewField.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DriverViewField::DriverViewField()
 | 
					DriverViewField::DriverViewField()
 | 
				
			||||||
    : intDigits{0}, decimalDigits{0}, fieldValue{0} {}
 | 
					    : intDigits{0}, decimalDigits{0}, floatValue{0}, boolValue{0} {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewField::initialize() { DriverViewFieldBase::initialize(); }
 | 
					void DriverViewField::initialize() { DriverViewFieldBase::initialize(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewField::setName(const touchgfx::TypedText &text) {
 | 
					void DriverViewField::setType(const DataFieldDescription &desc) {
 | 
				
			||||||
  title.setTypedText(text);
 | 
					  title.setTypedText(desc.title);
 | 
				
			||||||
  title.invalidate();
 | 
					  title.invalidate();
 | 
				
			||||||
}
 | 
					  fieldKind = desc.kind;
 | 
				
			||||||
 | 
					  switch (desc.kind) {
 | 
				
			||||||
void DriverViewField::setValue(float newValue) {
 | 
					  case DataFieldKind::Numeric:
 | 
				
			||||||
  fieldValue = newValue;
 | 
					    value.setTypedText(T_NUMBERWILDCARD);
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  case DataFieldKind::Bool:
 | 
				
			||||||
 | 
					  case DataFieldKind::Text:
 | 
				
			||||||
 | 
					    value.setTypedText(T_DEFAULTWILDCARD);
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  intDigits = desc.int_digits;
 | 
				
			||||||
 | 
					  decimalDigits = desc.decimal_digits;
 | 
				
			||||||
  updateValueBuffer();
 | 
					  updateValueBuffer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewField::setPrecision(size_t intDigits, size_t decimalDigits) {
 | 
					void DriverViewField::setValue(float newValue) {
 | 
				
			||||||
  this->intDigits = intDigits;
 | 
					  floatValue = newValue;
 | 
				
			||||||
  this->decimalDigits = decimalDigits;
 | 
					  updateValueBuffer();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DriverViewField::setValue(const char *str) {
 | 
				
			||||||
 | 
					  Unicode::strncpy(valueBuffer, str,
 | 
				
			||||||
 | 
					                   sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar));
 | 
				
			||||||
 | 
					  value.setWildcard(valueBuffer);
 | 
				
			||||||
 | 
					  value.invalidate();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DriverViewField::setValue(int boolValue) {
 | 
				
			||||||
 | 
					  this->boolValue = boolValue;
 | 
				
			||||||
  updateValueBuffer();
 | 
					  updateValueBuffer();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewField::updateValueBuffer() {
 | 
					void DriverViewField::updateValueBuffer() {
 | 
				
			||||||
  size_t width = intDigits;
 | 
					  switch (fieldKind) {
 | 
				
			||||||
  if (decimalDigits != 0) {
 | 
					  case DataFieldKind::Numeric: {
 | 
				
			||||||
    width += decimalDigits + 1; // 1 digit for the decimal point
 | 
					    size_t width = intDigits;
 | 
				
			||||||
 | 
					    if (decimalDigits != 0) {
 | 
				
			||||||
 | 
					      width += decimalDigits + 1; // 1 digit for the decimal point
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    float params[3] = {(float)width, (float)decimalDigits, floatValue};
 | 
				
			||||||
 | 
					    Unicode::snprintfFloats(valueBuffer,
 | 
				
			||||||
 | 
					                            sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar),
 | 
				
			||||||
 | 
					                            "%*.*f", params);
 | 
				
			||||||
 | 
					    value.setWildcard(valueBuffer);
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  float params[3] = {(float)width, (float)decimalDigits, fieldValue};
 | 
					  case DataFieldKind::Bool: {
 | 
				
			||||||
  Unicode::snprintfFloats(valueBuffer,
 | 
					    const char *str = boolValue ? "YES" : "NO";
 | 
				
			||||||
                          sizeof(valueBuffer) / sizeof(Unicode::UnicodeChar),
 | 
					    Unicode::strncpy(valueBuffer, str,
 | 
				
			||||||
                          "%*.*f", params);
 | 
					                     sizeof(valueBuffer) / sizeof(valueBuffer[0]));
 | 
				
			||||||
  value.setWildcard(valueBuffer);
 | 
					    value.setWildcard(valueBuffer);
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  case DataFieldKind::Text:
 | 
				
			||||||
 | 
					    // This is updated directly in setValue()
 | 
				
			||||||
 | 
					    break;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  value.invalidate();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,15 +1,37 @@
 | 
				
			|||||||
#include <gui/driverview_screen/DriverViewPresenter.hpp>
 | 
					#include <gui/driverview_screen/DriverViewPresenter.hpp>
 | 
				
			||||||
#include <gui/driverview_screen/DriverViewView.hpp>
 | 
					#include <gui/driverview_screen/DriverViewView.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
#include "vehicle.h"
 | 
					#include "vehicle.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DriverViewPresenter::DriverViewPresenter(DriverViewView &v) : view(v) {}
 | 
					DriverViewPresenter::DriverViewPresenter(DriverViewView &v)
 | 
				
			||||||
 | 
					    : view(v), fields{DF_MinCellVolt, DF_Speed, DF_TSCurrent} {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewPresenter::activate() {}
 | 
					void DriverViewPresenter::activate() {
 | 
				
			||||||
 | 
					  for (size_t i = 0; i < 3; i++) {
 | 
				
			||||||
 | 
					    view.setFieldType(i, dataFieldDescs[fields[i]]);
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewPresenter::deactivate() {}
 | 
					void DriverViewPresenter::deactivate() {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewPresenter::vehicleStateUpdated() {
 | 
					void DriverViewPresenter::vehicleStateUpdated() {
 | 
				
			||||||
 | 
					  view.setTireTemps(vehicle_state.tire_temps);
 | 
				
			||||||
  view.setTSSoC(vehicle_state.soc);
 | 
					  view.setTSSoC(vehicle_state.soc);
 | 
				
			||||||
  view.setMinCellVolt(vehicle_state.min_cell_volt);
 | 
					
 | 
				
			||||||
 | 
					  for (size_t i = 0; i < 3; i++) {
 | 
				
			||||||
 | 
					    DataFieldType field = fields[i];
 | 
				
			||||||
 | 
					    void *val = dataFieldDescs[field].getValue();
 | 
				
			||||||
 | 
					    switch (dataFieldDescs[field].kind) {
 | 
				
			||||||
 | 
					    case DataFieldKind::Numeric:
 | 
				
			||||||
 | 
					      view.setFieldValue(i, *((float *)val));
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case DataFieldKind::Bool:
 | 
				
			||||||
 | 
					      view.setFieldValue(i, *((int *)val));
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    case DataFieldKind::Text:
 | 
				
			||||||
 | 
					      view.setFieldValue(i, (const char *)val);
 | 
				
			||||||
 | 
					      break;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,4 @@
 | 
				
			|||||||
 | 
					#include "gui/common/DataField.hpp"
 | 
				
			||||||
#include "texts/TextKeysAndLanguages.hpp"
 | 
					#include "texts/TextKeysAndLanguages.hpp"
 | 
				
			||||||
#include <gui/driverview_screen/DriverViewView.hpp>
 | 
					#include <gui/driverview_screen/DriverViewView.hpp>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -5,19 +6,29 @@ DriverViewView::DriverViewView() {}
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
void DriverViewView::setupScreen() {
 | 
					void DriverViewView::setupScreen() {
 | 
				
			||||||
  DriverViewViewBase::setupScreen();
 | 
					  DriverViewViewBase::setupScreen();
 | 
				
			||||||
  field1.setName(T_FIELD_MINCELLVOLT);
 | 
					  field1.setType(dataFieldDescs[DF_MinCellVolt]);
 | 
				
			||||||
  field1.setValue(3.21);
 | 
					  field2.setType(dataFieldDescs[DF_Speed]);
 | 
				
			||||||
  field1.setPrecision(1, 2);
 | 
					  field3.setType(dataFieldDescs[DF_TSCurrent]);
 | 
				
			||||||
  field2.setName(T_FIELD_SPEED);
 | 
					 | 
				
			||||||
  field2.setValue(42.0);
 | 
					 | 
				
			||||||
  field2.setPrecision(3, 0);
 | 
					 | 
				
			||||||
  field3.setName(T_FIELD_TSCURRENT);
 | 
					 | 
				
			||||||
  field3.setValue(131.0);
 | 
					 | 
				
			||||||
  field3.setPrecision(3, 0);
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewView::tearDownScreen() { DriverViewViewBase::tearDownScreen(); }
 | 
					void DriverViewView::tearDownScreen() { DriverViewViewBase::tearDownScreen(); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DriverViewView::setFieldType(size_t i, const DataFieldDescription &desc) {
 | 
				
			||||||
 | 
					  getField(i).setType(desc);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DriverViewView::setFieldValue(size_t i, float value) {
 | 
				
			||||||
 | 
					  getField(i).setValue(value);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DriverViewView::setFieldValue(size_t i, const char *value) {
 | 
				
			||||||
 | 
					  getField(i).setValue(value);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void DriverViewView::setFieldValue(size_t i, int value) {
 | 
				
			||||||
 | 
					  getField(i).setValue(value);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewView::setTireTemps(const TireTemps &temps) {
 | 
					void DriverViewView::setTireTemps(const TireTemps &temps) {
 | 
				
			||||||
  tireTempFL.setTemp(temps.fl);
 | 
					  tireTempFL.setTemp(temps.fl);
 | 
				
			||||||
  tireTempFR.setTemp(temps.fr);
 | 
					  tireTempFR.setTemp(temps.fr);
 | 
				
			||||||
@ -30,7 +41,13 @@ void DriverViewView::setTSSoC(uint8_t soc) {
 | 
				
			|||||||
  tsSoC.invalidate();
 | 
					  tsSoC.invalidate();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void DriverViewView::setMinCellVolt(float v) {
 | 
					DriverViewField &DriverViewView::getField(size_t i) {
 | 
				
			||||||
  field1.setValue(v);
 | 
					  switch (i) {
 | 
				
			||||||
  field1.invalidate();
 | 
					  case 0:
 | 
				
			||||||
 | 
					    return field1;
 | 
				
			||||||
 | 
					  case 1:
 | 
				
			||||||
 | 
					    return field2;
 | 
				
			||||||
 | 
					  default:
 | 
				
			||||||
 | 
					    return field3;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -36,6 +36,7 @@
 | 
				
			|||||||
    <ClCompile Include="..\..\generated\gui_generated\src\containers\TireTempBase.cpp"/>
 | 
					    <ClCompile Include="..\..\generated\gui_generated\src\containers\TireTempBase.cpp"/>
 | 
				
			||||||
    <ClCompile Include="..\..\gui\src\containers\DriverViewField.cpp"/>
 | 
					    <ClCompile Include="..\..\gui\src\containers\DriverViewField.cpp"/>
 | 
				
			||||||
    <ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp"/>
 | 
					    <ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp"/>
 | 
				
			||||||
 | 
					    <ClCompile Include="..\..\gui\src\common\DataField.cpp"/>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <None Include="$(ApplicationRoot)\assets\texts\texts.xml"/>
 | 
					    <None Include="$(ApplicationRoot)\assets\texts\texts.xml"/>
 | 
				
			||||||
@ -201,6 +202,7 @@
 | 
				
			|||||||
    <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\TireTempBase.hpp"/>
 | 
					    <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\TireTempBase.hpp"/>
 | 
				
			||||||
    <ClInclude Include="..\..\gui\include\gui\containers\DriverViewField.hpp"/>
 | 
					    <ClInclude Include="..\..\gui\include\gui\containers\DriverViewField.hpp"/>
 | 
				
			||||||
    <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp"/>
 | 
					    <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp"/>
 | 
				
			||||||
 | 
					    <ClInclude Include="..\..\gui\include\gui\common\DataField.hpp"/>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>
 | 
					    <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc"/>
 | 
				
			||||||
 | 
				
			|||||||
@ -297,6 +297,9 @@
 | 
				
			|||||||
    <ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp">
 | 
					    <ClCompile Include="..\..\generated\gui_generated\src\containers\DriverViewFieldBase.cpp">
 | 
				
			||||||
      <Filter>Source Files\generated\gui_generated\containers</Filter>
 | 
					      <Filter>Source Files\generated\gui_generated\containers</Filter>
 | 
				
			||||||
    </ClCompile>
 | 
					    </ClCompile>
 | 
				
			||||||
 | 
					    <ClCompile Include="..\..\gui\src\common\DataField.cpp">
 | 
				
			||||||
 | 
					      <Filter>Source Files\gui\common</Filter>
 | 
				
			||||||
 | 
					    </ClCompile>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <None Include="$(ApplicationRoot)\assets\texts\texts.xml">
 | 
					    <None Include="$(ApplicationRoot)\assets\texts\texts.xml">
 | 
				
			||||||
@ -784,6 +787,9 @@
 | 
				
			|||||||
    <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp">
 | 
					    <ClInclude Include="..\..\generated\gui_generated\include\gui_generated\containers\DriverViewFieldBase.hpp">
 | 
				
			||||||
      <Filter>Header Files\generated\gui_generated\containers</Filter>
 | 
					      <Filter>Header Files\generated\gui_generated\containers</Filter>
 | 
				
			||||||
    </ClInclude>
 | 
					    </ClInclude>
 | 
				
			||||||
 | 
					    <ClInclude Include="..\..\gui\include\gui\common\DataField.hpp">
 | 
				
			||||||
 | 
					      <Filter>Header Files\gui\common</Filter>
 | 
				
			||||||
 | 
					    </ClInclude>
 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc">
 | 
					    <ResourceCompile Include="$(ApplicationRoot)\generated\simulator\touchgfx.rc">
 | 
				
			||||||
 | 
				
			|||||||
@ -526,7 +526,7 @@
 | 
				
			|||||||
            "Y": 20,
 | 
					            "Y": 20,
 | 
				
			||||||
            "Width": 160,
 | 
					            "Width": 160,
 | 
				
			||||||
            "Height": 57,
 | 
					            "Height": 57,
 | 
				
			||||||
            "TextId": "__SingleUse_K26P",
 | 
					            "TextId": "NumberWildcard",
 | 
				
			||||||
            "TextRotation": "0",
 | 
					            "TextRotation": "0",
 | 
				
			||||||
            "Color": {
 | 
					            "Color": {
 | 
				
			||||||
              "Red": 255,
 | 
					              "Red": 255,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user