Conversion from bytes array to “C” source file made with help of template file. This file is simple text file with key tags, surrounded with $(tag) or @tag@ .
You can select own files in Options -> Conversion -> Templates, or use defaults templates :/templates/image_convert and :/templates/font_convert .
Tag name | Short description |
---|---|
doc_data_type | image or font |
doc_filename | xml source data file |
doc_name | name of document, entered on creation |
doc_name_ws | documentName without spaces |
fnt_antialiasing | font antialiasing |
fnt_ascent | font ascent |
fnt_descent | font descent |
fnt_encoding | encoding, used to convert character to hexadecimal representation |
fnt_family | font family |
fnt_size | font size |
fnt_string | string of characters, what contained in file |
fnt_style | font style |
fnt_use_bom | append (yes) on not append (no) Byte Order Mark to character’s code |
fnt_width_type | font width type (proportional or monospaced) |
fnt_compacted | enabled (yes) or disabled (no) font’s compacting |
img_byte_order | bytes order |
img_data_block_size | data blocks size in bits |
img_rle | RLE compression used (yes) or not used (no) |
img_split_to_rows | split string representation by rows |
out_blocks_count | number of blocks in data array |
out_bpp | bits per pixel |
out_char_code | code of character in hexadecimal representation |
out_char_code_sim | code of character’s duplicate in hexadecimal representation (or empty string) |
out_char_code_min | min code of character in hexadecimal representation |
out_char_code_max | max code of character in hexadecimal representation |
out_char_text | character in text form |
out_char_text_sim | duplicate character in text form (or empty string) |
out_char_index | index of character in font’s array |
out_char_offset | offset of character’s data block in font’s plain data array |
out_char_image_left | left offset of character’s image inside character’s rectangle |
out_char_image_top | top offset of character’s image inside character’s rectangle |
out_char_image_width | width of character’s image |
out_char_image_height | height of character’s image |
out_comma | places ‘,’, but nothing (‘’) at the end of list |
out_data_indent | image data indent (tab or spaces from template file) |
out_image_data | image’s data array as text |
out_image_preview | text preview of image |
out_image_height | image/character height |
out_image_width | image/character width |
out_images_count | number of images (characters) in data file |
out_images_max_height | images max height |
out_images_max_width | images max width |
out_preset_name | conversion preset name |
pre_conv_type | conversion type (monochrome, grayscale, color) |
pre_inverse | invert image before processing |
pre_mono_edge | edge value for monochrome-edge |
pre_mono_type | monochrome conversion type (edge, digguse dither, ordered dither, threshold dither) |
pre_scan_main | main scanning direction |
pre_scan_sub | line scanning direction |
pre_use_bands | used bands (yes or no) |
pre_band_width | width of band |
tmpl_filename | template file name |
Tag name | Short description |
---|---|
dataType | image or font |
fileName | xml source data file |
documentName | name of document, entered on creation |
documentName_ws | documentName without spaces |
fontAntialiasing | font antialiasing |
encoding | encoding, used to convert character to hexadecimal representation |
fontFamily | font family |
fontSize | font size |
string | string of characters, what contained in file |
fontStyle | font style |
bom | append (yes) on not append (no) Byte Order Mark to character’s code |
fontWidthType | font width type (proportional or monospaced) |
bytesOrder | bytes order |
dataBlockSize | data blocks size in bits |
rle | RLE compression used (yes) or not used (no) |
splitToRows | split string representation by rows |
blocksCount | number of blocks in data array |
bpp | bits per pixel |
charCode | code of character in hexadecimal representation |
charText | character in text form |
comma | places ‘,’, but nothing (‘’) at the end of list |
imageDataIndent | image data indent (tab or spaces from template file) |
imageData | image’s data array as text |
height | image height |
width | image width |
imagesCount | number of images (characters) in data file |
preset | conversion preset name |
convType | conversion type (monochrome, grayscale, color) |
inverse | invert image before processing |
edge | edge value for monochrome-edge |
monoType | monochrome conversion type (edge, digguse dither, ordered dither, threshold dither) |
scanMain | main scanning direction |
scanSub | line scanning direction |
bands | used bands (yes or no) |
bandWidth | width of band |
templateFile | template file name |
Template block between $(start_block_images_table) and $(end_block_images_table) repeats for each image in data file.
List of used codecs:
- UTF-8
- UTF-16
- UTF-16BE
- UTF-16LE
- UTF-32
- UTF-32BE
- UTF-32LE
- Windows-1250 … 1258
- …
$(start_block_header)
/*******************************************************************************
* $(doc_data_type)
* filename: $(doc_filename)
* name: $(doc_name)
*
* preset name: $(out_preset_name)
* data block size: $(img_data_block_size) bit(s), uint$(img_data_block_size)_t
* RLE compression enabled: $(img_rle)
* conversion type: $(pre_conv_type), $(pre_mono_type) $(pre_mono_edge)
* bits per pixel: $(out_bpp)
*
* preprocess:
* main scan direction: $(pre_scan_main)
* line scan direction: $(pre_scan_sub)
* inverse: $(pre_inverse)
*******************************************************************************/
/*
typedef struct {
const uint$(img_data_block_size)_t *data;
uint16_t width;
uint16_t height;
uint8_t dataSize;
} tImage;
*/
#include <stdint.h>
$(end_block_header)
$(start_block_images_table)
static const uint$(img_data_block_size)_t image_data_$(doc_name_ws)[$(out_blocks_count)] = {
$(out_image_preview)
$(out_image_data)
};
const tImage $(doc_name_ws) = { image_data_$(doc_name_ws), $(out_image_width), $(out_image_height),
$(img_data_block_size) };
$(end_block_images_table)
$(start_block_header)
/*******************************************************************************
* $(doc_data_type)
* filename: $(doc_filename)
* name: $(doc_name)
* family: $(fnt_family)
* size: $(fnt_size)
* style: $(fnt_style)
* included characters: $(fnt_string)
* antialiasing: $(fnt_antialiasing)
* type: $(fnt_width_type)
* encoding: $(fnt_encoding)
* unicode bom: $(fnt_use_bom)
*
* preset name: $(out_preset_name)
* data block size: $(img_data_block_size) bit(s), uint$(img_data_block_size)_t
* RLE compression enabled: $(img_rle)
* conversion type: $(pre_conv_type), $(pre_mono_type) $(pre_mono_edge)
* bits per pixel: $(out_bpp)
*
* preprocess:
* main scan direction: $(pre_scan_main)
* line scan direction: $(pre_scan_sub)
* inverse: $(pre_inverse)
*******************************************************************************/
/*
typedef struct {
long int code;
const tImage *image;
} tChar;
typedef struct {
int length;
const tChar *chars;
} tFont;
*/
#include <stdint.h>
$(end_block_header)
$(start_block_images_table)
static const uint$(img_data_block_size)_t image_data_$(doc_name_ws)_0x$(out_char_code)[$(out_blocks_count)] = {
$(out_image_preview)
$(out_image_data)
};
static const tImage $(doc_name_ws)_0x$(out_char_code) = { image_data_$(doc_name_ws)_0x$(out_char_code),
$(out_image_width), $(out_image_height), $(img_data_block_size)};
$(end_block_images_table)
static const tChar $(doc_name_ws)_array[] = {
$(start_block_images_table)
// character: '$(out_char_text)'
{0x$(out_char_code), &$(doc_name_ws)_0x$(out_char_code)}$(out_comma)
$(end_block_images_table)
};
$(start_block_font_def)
const tFont $(doc_name_ws) = { $(out_images_count), $(doc_name_ws)_array };
$(end_block_font_def)