You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
2.1 KiB
64 lines
2.1 KiB
/* Copyright (c) 2013 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*
|
|
* This describes the internal format used to pack a set of character glpyhs so
|
|
* we can render strings by drawing one character at a time.
|
|
*
|
|
* The format is this:
|
|
*
|
|
* +-------------------------+
|
|
* | FontArrayHeader |
|
|
* +-------------------------+
|
|
* | FontArrayEntryHeader[0] |
|
|
* +-------------------------+
|
|
* | raw image data[0] |
|
|
* +-------------------------+
|
|
* | FontArrayEntryHeader[1] |
|
|
* +-------------------------+
|
|
* | raw image data[1] |
|
|
* +-------------------------+
|
|
* | FontArrayEntryHeader[2] |
|
|
* +-------------------------+
|
|
* | raw image data[2] |
|
|
* +-------------------------+
|
|
* ...
|
|
* +-------------------------+
|
|
* | FontArrayEntryHeader[n] |
|
|
* +-------------------------+
|
|
* | raw image data[n] |
|
|
* +-------------------------+
|
|
*
|
|
* The FontArrayHeader describes how many characters will be encoded.
|
|
* Each character encoding consists of a FontArrayEntryHeader followed
|
|
* immediately by the raw image data for that character.
|
|
*/
|
|
|
|
#ifndef VBOOT_REFERENCE_BMPBLK_FONT_H_
|
|
#define VBOOT_REFERENCE_BMPBLK_FONT_H_
|
|
|
|
#include "bmpblk_header.h"
|
|
|
|
#define FONT_SIGNATURE "FONT"
|
|
#define FONT_SIGNATURE_SIZE 4
|
|
|
|
typedef struct FontArrayHeader {
|
|
uint8_t signature[FONT_SIGNATURE_SIZE];
|
|
uint32_t num_entries; /* Number of chars encoded here. */
|
|
} __attribute__((packed)) FontArrayHeader;
|
|
|
|
typedef struct FontArrayEntryHeader {
|
|
uint32_t ascii; /* What to show. Could even be UTF? */
|
|
ImageInfo info; /* Describes the bitmap. */
|
|
|
|
/*
|
|
* The image to use follows immediately, NOT compressed. It's
|
|
* uncompressed because each glyph is only a few hundred bytes, but
|
|
* they have much in common (colormaps, for example). When we add the
|
|
* whole font blob to the bmpblk, it will be compressed as a single
|
|
* item there.
|
|
*/
|
|
} __attribute__((packed)) FontArrayEntryHeader;
|
|
|
|
#endif /* VBOOT_REFERENCE_BMPBLK_FONT_H_ */
|