# Vault 7: Projects

This publication series is about specific projects related to the Vault 7 main publication.

### Protego

# MLA -- Graphics Resource Converter

1 January, 2014

- 1
- 2
…
- 25
- 26
- 27
- 28
- 29
…
- 67
- 68

6.2.2.1 Font Filter File Format
The font filter file is a text file created in a text editor capable of handling Unicode fonts and saving text files in 16-bit Unicode
format. The format of the filter file is shown below:
ButtonStr: ??? // Buttons
CheckBoxStr: ???????? // Checkbox
RadioButtonStr: ?????? //Radio buttons
GroupBoxStr: ???????? //GroupBox
StaticTextStr: ?????? //StaticText
SliderStr: ????? //Slider
ProgressBarStr: ??????? //Progress bar
ListBoxStr: ??????? //List box
EditBoxStr: ?????? //Edit box
MeterStr: ???? //Meter
DialStr: ???? //Dial
PictureStr: ?? //Picture
StaticTextLstStr: ????????
??????
?????
?????????
????????
????? //Microchip Graphics Library Static Text and Group Box Test.
include: 1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ //
include: abcdefghijklmnopqrstuvwxyz //
include: "!#$%&'()*+`-.,/:;<=>?@[\]^_" //dummy string to include the standard ASCII
character set numbers and alphabet.
Each line is divided into three sections:
String Label Section String Section Comment Section
ButtonStr: ??? // Buttons
1. The string label section - This is the same string label that will be used in the C reference file that will define the character
array created for the string it describes. "include" is a special string label that signifies the characters in the string section
will be included in the font table but the generated C reference file will not include the string. Note that the character IDs
may change so to maintain the character ID of the ASCII characters the whole range of characters from 32 to 127 must
be explictly included (as shown in the example above).
2. The string section - The source of the character ID filter to generate the reduced font table.
3. the comment section - This is an optional comment section that users may want to add to the string. The comments are
optional but the "//" comment indicator is
required
.
The string label section should be characters using the ASCII codes with identifier names complying with standard C format.
This is a requirement since the compiler will not be able to generate code when variable names are not using the standard C
formats. The string section will be encoded into an array of 2 byte character ID that the utility will generate. Each line should
be terminated by a newline character.
Spaces are counted as characters in the string. Except for the new line character ("/n" or 0x000A), tabs and other control
characters are ignored. An example is shown in the "StaticTextLstStr" shown above.
An example of an editor that can be used is the
Word Pad
. Another good editor is the
BabelPad Version 1.9.3
. This is an
editor tool available at http://www.babelstone.co.uk/Software/BabelPad.html.
6.2.2.2 Font Reference File Output
The font reference file is created to help in the usage of the filtered font table and referencing strings in the application. An
example of the output of the font reference file is shown below:
XCHAR ButtonStr[] = {0x00B2, 0x00A6, 0x00BD, 0x0000}; // Buttons
XCHAR CheckBoxStr[] = {0x00A8, 0x009A, 0x00A9, 0x009E, 0x00B2, 0x00A9, 0x009E, 0x00A5,
0x0000}; // Checkbox
XCHAR RadioButtonStr[] = {0x00B8, 0x00A4, 0x009B, 0x00B2, 0x00A6, 0x00BD, 0x0000}; //Radio
6.2 Font Graphics Resource Converter Font Filter
24
6

- 1
- 2
…
- 25
- 26
- 27
- 28
- 29
…
- 67
- 68