Date   

Fetch of shared-mime-info and shared-mime-info-native never finishes.

Howard
 

Hi:

This just started happening today.  

Both
shared-mime-info-native-1.15-r0 do_fetch
and
shared-mime-info-1.15-r0 do_fetch

Never complete.   Bitbake completes all other non-dependant recipes, leaving the 2 above to go forever, but never finish.

Anybody else seeing this?   Is this a case of a remote repo not functioning properly?

Thanks
Howard


[meta-security][PATCH 2/2] packagegroup-security-tpm2: drop ibmswtpm2

Armin Kuster
 

ibmswtpm2 has not been ported to openssl 3

Signed-off-by: Armin Kuster <akuster808@...>
---
meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb | 1 -
1 file changed, 1 deletion(-)

diff --git a/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb b/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
index 764b2e5..b8324e5 100644
--- a/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
+++ b/meta-tpm/recipes-core/packagegroup/packagegroup-security-tpm2.bb
@@ -18,5 +18,4 @@ RDEPENDS:packagegroup-security-tpm2 = " \
libtss2-tcti-mssim \
tpm2-abrmd \
tpm2-pkcs11 \
- ibmswtpm2 \
"
--
2.25.1


[meta-security][PATCH 1/2] tpm2-pkcs11: backport openssl 3.x build fixes

Armin Kuster
 

bump to tip of current sources.

Signed-off-by: Armin Kuster <akuster808@...>
---
.../0001-ssl-compile-against-OSSL-3.0.patch | 1305 +++++++++++++++++
...ssl-require-version-1.1.0-or-greater.patch | 93 ++
.../tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb | 4 +-
3 files changed, 1401 insertions(+), 1 deletion(-)
create mode 100644 meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch
create mode 100644 meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch

diff --git a/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch b/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch
new file mode 100644
index 0000000..ac2f92c
--- /dev/null
+++ b/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0001-ssl-compile-against-OSSL-3.0.patch
@@ -0,0 +1,1305 @@
+From f7a2e90e80fd8b4c43042f8099e821b4118234d1 Mon Sep 17 00:00:00 2001
+From: William Roberts <william.c.roberts@...>
+Date: Fri, 3 Sep 2021 11:24:40 -0500
+Subject: [PATCH 1/2] ssl: compile against OSSL 3.0
+
+Compile against OpenSSL. This moves functions non-deprecated things if
+possible and ignores deprecation warnings when not. Padding manipulation
+routines seem to have been marked deprecated in OSSL 3.0, so we need to
+figure out a porting strategy here.
+
+Fixes: #686
+
+Signed-off-by: William Roberts <william.c.roberts@...>
+
+Upstream-Status: Backport
+Signed-off-by: Armin Kuster <akuster808@...>
+
+---
+ src/lib/backend_esysdb.c | 5 +-
+ src/lib/backend_fapi.c | 5 +-
+ src/lib/encrypt.c | 2 +-
+ src/lib/mech.c | 72 +---
+ src/lib/object.c | 3 +-
+ src/lib/sign.c | 2 +-
+ src/lib/ssl_util.c | 531 ++++++++++++++++--------
+ src/lib/ssl_util.h | 31 +-
+ src/lib/tpm.c | 6 +-
+ src/lib/utils.c | 35 +-
+ src/lib/utils.h | 13 -
+ test/integration/pkcs-sign-verify.int.c | 94 ++---
+ 12 files changed, 441 insertions(+), 358 deletions(-)
+
+Index: git/src/lib/backend_esysdb.c
+===================================================================
+--- git.orig/src/lib/backend_esysdb.c
++++ git/src/lib/backend_esysdb.c
+@@ -3,6 +3,7 @@
+ #include "config.h"
+ #include "backend_esysdb.h"
+ #include "db.h"
++#include "ssl_util.h"
+ #include "tpm.h"
+
+ CK_RV backend_esysdb_init(void) {
+@@ -308,7 +309,7 @@ CK_RV backend_esysdb_token_unseal_wrappi
+ }
+
+ twist sealsalt = user ? sealobj->userauthsalt : sealobj->soauthsalt;
+- twist sealobjauth = utils_hash_pass(tpin, sealsalt);
++ twist sealobjauth = ssl_util_hash_pass(tpin, sealsalt);
+ if (!sealobjauth) {
+ rv = CKR_HOST_MEMORY;
+ goto error;
+@@ -372,7 +373,7 @@ CK_RV backend_esysdb_token_changeauth(to
+ */
+ twist oldsalt = !user ? tok->esysdb.sealobject.soauthsalt : tok->esysdb.sealobject.userauthsalt;
+
+- twist oldauth = utils_hash_pass(toldpin, oldsalt);
++ twist oldauth = ssl_util_hash_pass(toldpin, oldsalt);
+ if (!oldauth) {
+ goto out;
+ }
+Index: git/src/lib/backend_fapi.c
+===================================================================
+--- git.orig/src/lib/backend_fapi.c
++++ git/src/lib/backend_fapi.c
+@@ -11,6 +11,7 @@
+ #include "backend_fapi.h"
+ #include "emitter.h"
+ #include "parser.h"
++#include "ssl_util.h"
+ #include "utils.h"
+
+ #ifdef HAVE_FAPI
+@@ -793,7 +794,7 @@ CK_RV backend_fapi_token_unseal_wrapping
+ }
+
+ twist sealsalt = user ? tok->fapi.userauthsalt : tok->fapi.soauthsalt;
+- twist sealobjauth = utils_hash_pass(tpin, sealsalt);
++ twist sealobjauth = ssl_util_hash_pass(tpin, sealsalt);
+ if (!sealobjauth) {
+ rv = CKR_HOST_MEMORY;
+ goto error;
+@@ -889,7 +890,7 @@ CK_RV backend_fapi_token_changeauth(toke
+ }
+ rv = CKR_GENERAL_ERROR;
+
+- oldauth = utils_hash_pass(toldpin, user ? tok->fapi.userauthsalt : tok->fapi.soauthsalt);
++ oldauth = ssl_util_hash_pass(toldpin, user ? tok->fapi.userauthsalt : tok->fapi.soauthsalt);
+ if (!oldauth) {
+ goto out;
+ }
+Index: git/src/lib/encrypt.c
+===================================================================
+--- git.orig/src/lib/encrypt.c
++++ git/src/lib/encrypt.c
+@@ -59,7 +59,7 @@ void encrypt_op_data_free(encrypt_op_dat
+ CK_RV sw_encrypt_data_init(mdetail *mdtl, CK_MECHANISM *mechanism, tobject *tobj, sw_encrypt_data **enc_data) {
+
+ EVP_PKEY *pkey = NULL;
+- CK_RV rv = ssl_util_tobject_to_evp(&pkey, tobj);
++ CK_RV rv = ssl_util_attrs_to_evp(tobj->attrs, &pkey);
+ if (rv != CKR_OK) {
+ return rv;
+ }
+Index: git/src/lib/mech.c
+===================================================================
+--- git.orig/src/lib/mech.c
++++ git/src/lib/mech.c
+@@ -693,7 +693,7 @@ CK_RV ecc_keygen_validator(mdetail *m, C
+ }
+
+ int nid = 0;
+- CK_RV rv = ec_params_to_nid(a, &nid);
++ CK_RV rv = ssl_util_params_to_nid(a, &nid);
+ if (rv != CKR_OK) {
+ return rv;
+ }
+@@ -857,11 +857,11 @@ CK_RV rsa_pkcs_synthesizer(mdetail *mdtl
+ }
+
+ /* Apply the PKCS1.5 padding */
+- int rc = RSA_padding_add_PKCS1_type_1(outbuf, padded_len,
+- inbuf, inlen);
+- if (!rc) {
++ CK_RV rv = ssl_util_add_PKCS1_TYPE_1(inbuf, inlen,
++ outbuf, padded_len);
++ if (rv != CKR_OK) {
+ LOGE("Applying RSA padding failed");
+- return CKR_GENERAL_ERROR;
++ return rv;
+ }
+
+ *outlen = padded_len;
+@@ -893,22 +893,21 @@ CK_RV rsa_pkcs_unsynthesizer(mdetail *md
+ size_t key_bytes = *keybits / 8;
+
+ unsigned char buf[4096];
+- int rc = RSA_padding_check_PKCS1_type_2(buf, sizeof(buf),
+- inbuf, inlen,
+- key_bytes);
+- if (rc < 0) {
++ CK_ULONG buflen = sizeof(buf);
++ CK_RV rv = ssl_util_check_PKCS1_TYPE_2(inbuf, inlen, key_bytes,
++ buf, &buflen);
++ if (rv != CKR_OK) {
+ LOGE("Could not recover CKM_RSA_PKCS Padding");
+- return CKR_GENERAL_ERROR;
++ return rv;
+ }
+
+- /* cannot be < 0 because of check above */
+- if (!outbuf || (unsigned)rc > *outlen) {
+- *outlen = rc;
++ if (!outbuf || buflen > *outlen) {
++ *outlen = buflen;
+ return outbuf ? CKR_BUFFER_TOO_SMALL : CKR_OK;
+ }
+
+- *outlen = rc;
+- memcpy(outbuf, buf, rc);
++ *outlen = buflen;
++ memcpy(outbuf, buf, buflen);
+
+ return CKR_OK;
+ }
+@@ -944,50 +943,21 @@ CK_RV rsa_pss_synthesizer(mdetail *mdtl,
+ return CKR_GENERAL_ERROR;
+ }
+
+- CK_ATTRIBUTE_PTR exp_attr = attr_get_attribute_by_type(attrs, CKA_PUBLIC_EXPONENT);
+- if (!exp_attr) {
+- LOGE("Signing key has no CKA_PUBLIC_EXPONENT");
+- return CKR_GENERAL_ERROR;
+- }
+-
+ if (modulus_attr->ulValueLen > *outlen) {
+ LOGE("Output buffer is too small, got: %lu, required at least %lu",
+ *outlen, modulus_attr->ulValueLen);
+ return CKR_GENERAL_ERROR;
+ }
+
+- BIGNUM *e = BN_bin2bn(exp_attr->pValue, exp_attr->ulValueLen, NULL);
+- if (!e) {
+- LOGE("Could not convert exponent to bignum");
+- return CKR_GENERAL_ERROR;
+- }
+-
+- BIGNUM *n = BN_bin2bn(modulus_attr->pValue, modulus_attr->ulValueLen, NULL);
+- if (!n) {
+- LOGE("Could not convert modulus to bignum");
+- BN_free(e);
+- return CKR_GENERAL_ERROR;
+- }
+-
+- RSA *rsa = RSA_new();
+- if (!rsa) {
+- LOGE("oom");
+- return CKR_HOST_MEMORY;
+- }
+-
+- int rc = RSA_set0_key(rsa, n, e, NULL);
+- if (!rc) {
+- LOGE("Could not set modulus and exponent to OSSL RSA key");
+- BN_free(n);
+- BN_free(e);
+- RSA_free(rsa);
+- return CKR_GENERAL_ERROR;
++ EVP_PKEY *pkey = NULL;
++ rv = ssl_util_attrs_to_evp(attrs, &pkey);
++ if (rv != CKR_OK) {
++ return rv;
+ }
+
+- rc = RSA_padding_add_PKCS1_PSS(rsa, outbuf,
+- inbuf, md, -1);
+- RSA_free(rsa);
+- if (!rc) {
++ rv = ssl_util_add_PKCS1_PSS(pkey, inbuf, md, outbuf);
++ EVP_PKEY_free(pkey);
++ if (rv != CKR_OK) {
+ LOGE("Applying RSA padding failed");
+ return CKR_GENERAL_ERROR;
+ }
+Index: git/src/lib/object.c
+===================================================================
+--- git.orig/src/lib/object.c
++++ git/src/lib/object.c
+@@ -15,6 +15,7 @@
+ #include "object.h"
+ #include "pkcs11.h"
+ #include "session_ctx.h"
++#include "ssl_util.h"
+ #include "token.h"
+ #include "utils.h"
+
+@@ -121,7 +122,7 @@ CK_RV tobject_get_min_buf_size(tobject *
+ }
+
+ int nid = 0;
+- CK_RV rv = ec_params_to_nid(a, &nid);
++ CK_RV rv = ssl_util_params_to_nid(a, &nid);
+ if (rv != CKR_OK) {
+ return rv;
+ }
+Index: git/src/lib/sign.c
+===================================================================
+--- git.orig/src/lib/sign.c
++++ git/src/lib/sign.c
+@@ -74,7 +74,7 @@ static sign_opdata *sign_opdata_new(mdet
+ }
+
+ EVP_PKEY *pkey = NULL;
+- rv = ssl_util_tobject_to_evp(&pkey, tobj);
++ rv = ssl_util_attrs_to_evp(tobj->attrs, &pkey);
+ if (rv != CKR_OK) {
+ return NULL;
+ }
+Index: git/src/lib/ssl_util.c
+===================================================================
+--- git.orig/src/lib/ssl_util.c
++++ git/src/lib/ssl_util.c
+@@ -10,6 +10,7 @@
+ #include <openssl/rsa.h>
+ #include <openssl/sha.h>
+
++#include "attrs.h"
+ #include "log.h"
+ #include "pkcs11.h"
+ #include "ssl_util.h"
+@@ -19,194 +20,228 @@
+ #include <openssl/evperr.h>
+ #endif
+
+-#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
++#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
++#include <openssl/core_names.h>
++#endif
+
+ /*
+- * Pre openssl 1.1 doesn't have EC_POINT_point2buf, so use EC_POINT_point2oct to
+- * create an API compatible version of it.
++ * TODO Port these routines
++ * Deprecated function block to port
++ *
++ * There are no padding routine replacements in OSSL 3.0.
++ * - per Matt Caswell (maintainer) on mailing list.
++ * Signature verification can likely be done with EVP Verify interface.
+ */
+-size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,
+- point_conversion_form_t form,
+- unsigned char **pbuf, BN_CTX *ctx) {
+-
+- /* Get the required buffer length */
+- size_t len = EC_POINT_point2oct(group, point, form, NULL, 0, NULL);
+- if (!len) {
+- return 0;
+- }
++#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
++#endif
+
+- /* allocate it */
+- unsigned char *buf = OPENSSL_malloc(len);
+- if (!buf) {
+- return 0;
+- }
++CK_RV ssl_util_add_PKCS1_PSS(EVP_PKEY *pkey,
++ const CK_BYTE_PTR inbuf, const EVP_MD *md,
++ CK_BYTE_PTR outbuf) {
+
+- /* convert it */
+- len = EC_POINT_point2oct(group, point, form, buf, len, ctx);
+- if (!len) {
+- OPENSSL_free(buf);
+- return 0;
++ RSA *rsa = (RSA *)EVP_PKEY_get0_RSA(pkey);
++ if (!rsa) {
++ return CKR_GENERAL_ERROR;
+ }
+
+- *pbuf = buf;
+- return len;
+-}
++ int rc = RSA_padding_add_PKCS1_PSS(rsa, outbuf,
++ inbuf, md, -1);
+
+-size_t OBJ_length(const ASN1_OBJECT *obj) {
++ return rc == 1 ? CKR_OK : CKR_GENERAL_ERROR;
++}
+
+- if (!obj) {
+- return 0;
+- }
++CK_RV ssl_util_add_PKCS1_TYPE_1(const CK_BYTE_PTR inbuf, CK_ULONG inlen,
++ CK_BYTE_PTR outbuf, CK_ULONG outbuflen) {
+
+- return obj->length;
++ return RSA_padding_add_PKCS1_type_1(outbuf, outbuflen,
++ inbuf, inlen) == 1 ? CKR_OK : CKR_GENERAL_ERROR;
+ }
+
+-const unsigned char *OBJ_get0_data(const ASN1_OBJECT *obj) {
++CK_RV ssl_util_check_PKCS1_TYPE_2(const CK_BYTE_PTR inbuf, CK_ULONG inlen, CK_ULONG rsa_len,
++ CK_BYTE_PTR outbuf, CK_ULONG_PTR outbuflen) {
+
+- if (!obj) {
+- return NULL;
++ int rc = RSA_padding_check_PKCS1_type_2(outbuf, *outbuflen,
++ inbuf, inlen, rsa_len);
++ if (rc < 0) {
++ return CKR_GENERAL_ERROR;
+ }
+
+- return obj->data;
++ /* cannot be negative due to check above */
++ *outbuflen = rc;
++ return CKR_OK;
+ }
+
+-const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x) {
+- return ASN1_STRING_data((ASN1_STRING *)x);
+-}
++#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
++#pragma GCC diagnostic pop
++#endif
+
+-int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d) {
++#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST300)
+
+- if ((r->n == NULL && n == NULL) || (r->e == NULL && e == NULL)) {
+- return 0;
+- }
++static CK_RV get_RSA_evp_pubkey(CK_ATTRIBUTE_PTR e_attr, CK_ATTRIBUTE_PTR n_attr, EVP_PKEY **out_pkey) {
++
++ OSSL_PARAM params[] = {
++ OSSL_PARAM_BN("n", n_attr->pValue, n_attr->ulValueLen),
++ OSSL_PARAM_BN("e", e_attr->pValue, e_attr->ulValueLen),
++ OSSL_PARAM_END
++ };
+
+- if (n != NULL) {
+- BN_free(r->n);
+- r->n = n;
++ /* convert params to EVP key */
++ EVP_PKEY_CTX *evp_ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL);
++ if (!evp_ctx) {
++ SSL_UTIL_LOGE("EVP_PKEY_CTX_new_id");
++ return CKR_GENERAL_ERROR;
+ }
+
+- if (e != NULL) {
+- BN_free(r->e);
+- r->e = e;
++ int rc = EVP_PKEY_fromdata_init(evp_ctx);
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_PKEY_fromdata_init");
++ EVP_PKEY_CTX_free(evp_ctx);
++ return CKR_GENERAL_ERROR;
+ }
+
+- if (d != NULL) {
+- BN_free(r->d);
+- r->d = d;
++ rc = EVP_PKEY_fromdata(evp_ctx, out_pkey, EVP_PKEY_PUBLIC_KEY, params);
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_PKEY_fromdata");
++ EVP_PKEY_CTX_free(evp_ctx);
++ return CKR_GENERAL_ERROR;
+ }
+
+- return 1;
++ EVP_PKEY_CTX_free(evp_ctx);
++
++ return CKR_OK;
+ }
+
+-int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s) {
++static CK_RV get_EC_evp_pubkey(CK_ATTRIBUTE_PTR ecparams, CK_ATTRIBUTE_PTR ecpoint, EVP_PKEY **out_pkey) {
++
++ /*
++ * The simplest way I have found to deal with this is to convert the ASN1 object in
++ * the ecparams attribute (was done previously with d2i_ECParameters) is to a nid and
++ * then take the int nid and convert it to a friendly name like prime256v1.
++ * EVP_PKEY_fromdata can handle group by name.
++ *
++ * Per the spec this is "DER-encoding of an ANSI X9.62 Parameters value".
++ */
++ int curve_id = 0;
++ CK_RV rv = ssl_util_params_to_nid(ecparams, &curve_id);
++ if (rv != CKR_OK) {
++ LOGE("Could not get nid from params");
++ return rv;
++ }
+
+- if (!r || !s) {
+- return 0;
++ /* Per the spec CKA_EC_POINT attribute is the "DER-encoding of ANSI X9.62 ECPoint value Q */
++ const unsigned char *x = ecpoint->pValue;
++ ASN1_OCTET_STRING *os = d2i_ASN1_OCTET_STRING(NULL, &x, ecpoint->ulValueLen);
++ if (!os) {
++ SSL_UTIL_LOGE("d2i_ASN1_OCTET_STRING: %s");
++ return CKR_GENERAL_ERROR;
+ }
+
+- BN_free(sig->r);
+- BN_free(sig->s);
++ OSSL_PARAM params[] = {
++ OSSL_PARAM_utf8_string(OSSL_PKEY_PARAM_GROUP_NAME, (char *)OBJ_nid2sn(curve_id), 0),
++ OSSL_PARAM_octet_string(OSSL_PKEY_PARAM_PUB_KEY, os->data, os->length),
++ OSSL_PARAM_END
++ };
+
+- sig->r = r;
+- sig->s = s;
++ /* convert params to EVP key */
++ EVP_PKEY_CTX *evp_ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_EC, NULL);
++ if (!evp_ctx) {
++ SSL_UTIL_LOGE("EVP_PKEY_CTX_new_id");
++ OPENSSL_free(os);
++ return CKR_GENERAL_ERROR;
++ }
+
+- return 1;
+-}
++ int rc = EVP_PKEY_fromdata_init(evp_ctx);
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_PKEY_fromdata_init: %s");
++ EVP_PKEY_CTX_free(evp_ctx);
++ OPENSSL_free(os);
++ return CKR_GENERAL_ERROR;
++ }
+
+-EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey) {
+- if (pkey->type != EVP_PKEY_EC) {
+- return NULL;
++ rc = EVP_PKEY_fromdata(evp_ctx, out_pkey, EVP_PKEY_PUBLIC_KEY, params);
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_PKEY_fromdata");
++ EVP_PKEY_CTX_free(evp_ctx);
++ OPENSSL_free(os);
++ return CKR_GENERAL_ERROR;
+ }
+
+- return pkey->pkey.ec;
++ EVP_PKEY_CTX_free(evp_ctx);
++ OPENSSL_free(os);
++
++ return CKR_OK;
+ }
+-#endif
+
+-static CK_RV convert_pubkey_RSA(RSA **outkey, attr_list *attrs) {
++#else
+
+- RSA *rsa = NULL;
+- BIGNUM *e = NULL, *n = NULL;
++static CK_RV get_RSA_evp_pubkey(CK_ATTRIBUTE_PTR e_attr, CK_ATTRIBUTE_PTR n_attr, EVP_PKEY **out_pkey) {
+
+- CK_ATTRIBUTE_PTR exp = attr_get_attribute_by_type(attrs, CKA_PUBLIC_EXPONENT);
+- if (!exp) {
+- LOGE("RSA Object must have attribute CKA_PUBLIC_EXPONENT");
++ BIGNUM *e = BN_bin2bn(e_attr->pValue, e_attr->ulValueLen, NULL);
++ if (!e) {
++ LOGE("Could not convert exponent to bignum");
+ return CKR_GENERAL_ERROR;
+ }
+
+- CK_ATTRIBUTE_PTR mod = attr_get_attribute_by_type(attrs, CKA_MODULUS);
+- if (!mod) {
+- LOGE("RSA Object must have attribute CKA_MODULUS");
++ BIGNUM *n = BN_bin2bn(n_attr->pValue, n_attr->ulValueLen, NULL);
++ if (!n) {
++ LOGE("Could not convert modulus to bignum");
++ BN_free(e);
+ return CKR_GENERAL_ERROR;
+ }
+
+- rsa = RSA_new();
++ RSA *rsa = RSA_new();
+ if (!rsa) {
+- SSL_UTIL_LOGE("Failed to allocate OpenSSL RSA structure");
+- goto error;
++ LOGE("oom");
++ return CKR_HOST_MEMORY;
+ }
+
+- e = BN_bin2bn(exp->pValue, exp->ulValueLen, NULL);
+- if (!e) {
+- SSL_UTIL_LOGE("Failed to convert exponent to SSL internal format");
+- goto error;
++ int rc = RSA_set0_key(rsa, n, e, NULL);
++ if (!rc) {
++ LOGE("Could not set modulus and exponent to OSSL RSA key");
++ BN_free(n);
++ BN_free(e);
++ RSA_free(rsa);
++ return CKR_GENERAL_ERROR;
+ }
+
+- n = BN_bin2bn(mod->pValue, mod->ulValueLen, NULL);
+- if (!n) {
+- SSL_UTIL_LOGE("Failed to convert modulus to SSL internal format");
+- goto error;
++ /* assigned to RSA key */
++ n = e = NULL;
++
++ EVP_PKEY *pkey = EVP_PKEY_new();
++ if (!pkey) {
++ SSL_UTIL_LOGE("EVP_PKEY_new");
++ RSA_free(rsa);
++ return CKR_GENERAL_ERROR;
+ }
+
+- if (!RSA_set0_key(rsa, n, e, NULL)) {
+- SSL_UTIL_LOGE("Failed to set RSA modulus and exponent components");
++ rc = EVP_PKEY_assign_RSA(pkey, rsa);
++ if (rc != 1) {
+ RSA_free(rsa);
+- BN_free(e);
+- BN_free(n);
+- goto error;
++ EVP_PKEY_free(pkey);
++ return CKR_GENERAL_ERROR;
+ }
+
+- *outkey = rsa;
++ *out_pkey = pkey;
+
+ return CKR_OK;
+-
+-error:
+- RSA_free(rsa);
+- if (e) {
+- BN_free(e);
+- }
+- if (n) {
+- BN_free(n);
+- }
+-
+- return CKR_GENERAL_ERROR;
+ }
+
+-static CK_RV convert_pubkey_ECC(EC_KEY **outkey, attr_list *attrs) {
++static CK_RV get_EC_evp_pubkey(CK_ATTRIBUTE_PTR ecparams, CK_ATTRIBUTE_PTR ecpoint, EVP_PKEY **out_pkey) {
+
+- EC_KEY *key = EC_KEY_new();
+- if (!key) {
++ EC_KEY *ecc = EC_KEY_new();
++ if (!ecc) {
+ LOGE("oom");
+ return CKR_HOST_MEMORY;
+ }
+
+- CK_ATTRIBUTE_PTR ecparams = attr_get_attribute_by_type(attrs, CKA_EC_PARAMS);
+- if (!ecparams) {
+- LOGE("ECC Key must have attribute CKA_EC_PARAMS");
+- return CKR_GENERAL_ERROR;
+- }
+-
+- CK_ATTRIBUTE_PTR ecpoint = attr_get_attribute_by_type(attrs, CKA_EC_POINT);
+- if (!ecpoint) {
+- LOGE("ECC Key must have attribute CKA_EC_POINT");
+- return CKR_GENERAL_ERROR;
+- }
+-
+ /* set params */
+ const unsigned char *x = ecparams->pValue;
+- EC_KEY *k = d2i_ECParameters(&key, &x, ecparams->ulValueLen);
++ EC_KEY *k = d2i_ECParameters(&ecc, &x, ecparams->ulValueLen);
+ if (!k) {
+ SSL_UTIL_LOGE("Could not update key with EC Parameters");
+- EC_KEY_free(key);
++ EC_KEY_free(ecc);
+ return CKR_GENERAL_ERROR;
+ }
+
+@@ -215,22 +250,38 @@ static CK_RV convert_pubkey_ECC(EC_KEY *
+ ASN1_OCTET_STRING *os = d2i_ASN1_OCTET_STRING(NULL, &x, ecpoint->ulValueLen);
+ if (os) {
+ x = os->data;
+- k = o2i_ECPublicKey(&key, &x, os->length);
++ k = o2i_ECPublicKey(&ecc, &x, os->length);
+ ASN1_STRING_free(os);
+ if (!k) {
+ SSL_UTIL_LOGE("Could not update key with EC Points");
+- EC_KEY_free(key);
++ EC_KEY_free(ecc);
+ return CKR_GENERAL_ERROR;
+ }
+ }
+
+- *outkey = key;
++ EVP_PKEY *pkey = EVP_PKEY_new();
++ if (!pkey) {
++ SSL_UTIL_LOGE("EVP_PKEY_new");
++ EC_KEY_free(ecc);
++ return CKR_GENERAL_ERROR;
++ }
++
++ int rc = EVP_PKEY_assign_EC_KEY(pkey, ecc);
++ if (!rc) {
++ SSL_UTIL_LOGE("Could not set pkey with ec key");
++ EC_KEY_free(ecc);
++ EVP_PKEY_free(pkey);
++ return CKR_GENERAL_ERROR;
++ }
++
++ *out_pkey = pkey;
+ return CKR_OK;
+ }
++#endif
+
+-CK_RV ssl_util_tobject_to_evp(EVP_PKEY **outpkey, tobject *obj) {
++CK_RV ssl_util_attrs_to_evp(attr_list *attrs, EVP_PKEY **outpkey) {
+
+- CK_ATTRIBUTE_PTR a = attr_get_attribute_by_type(obj->attrs, CKA_KEY_TYPE);
++ CK_ATTRIBUTE_PTR a = attr_get_attribute_by_type(attrs, CKA_KEY_TYPE);
+ if (!a) {
+ LOGE("Expected object to have attribute CKA_KEY_TYPE");
+ return CKR_KEY_TYPE_INCONSISTENT;
+@@ -253,44 +304,52 @@ CK_RV ssl_util_tobject_to_evp(EVP_PKEY *
+ return CKR_OK;
+ }
+
+- EVP_PKEY *pkey = EVP_PKEY_new();
+- if (!pkey) {
+- LOGE("oom");
+- return CKR_HOST_MEMORY;
+- }
++ EVP_PKEY *pkey = NULL;
+
+ if (key_type == CKK_EC) {
+- EC_KEY *e = NULL;
+- rv = convert_pubkey_ECC(&e, obj->attrs);
+- if (rv != CKR_OK) {
+- return rv;
++
++ CK_ATTRIBUTE_PTR ecparams = attr_get_attribute_by_type(attrs, CKA_EC_PARAMS);
++ if (!ecparams) {
++ LOGE("ECC Key must have attribute CKA_EC_PARAMS");
++ return CKR_GENERAL_ERROR;
+ }
+- int rc = EVP_PKEY_assign_EC_KEY(pkey, e);
+- if (!rc) {
+- SSL_UTIL_LOGE("Could not set pkey with ec key");
+- EC_KEY_free(e);
+- EVP_PKEY_free(pkey);
++
++ CK_ATTRIBUTE_PTR ecpoint = attr_get_attribute_by_type(attrs, CKA_EC_POINT);
++ if (!ecpoint) {
++ LOGE("ECC Key must have attribute CKA_EC_POINT");
+ return CKR_GENERAL_ERROR;
+ }
+- } else if (key_type == CKK_RSA) {
+- RSA *r = NULL;
+- rv = convert_pubkey_RSA(&r, obj->attrs);
++
++ rv = get_EC_evp_pubkey(ecparams, ecpoint, &pkey);
+ if (rv != CKR_OK) {
+ return rv;
+ }
+- int rc = EVP_PKEY_assign_RSA(pkey, r);
+- if (!rc) {
+- SSL_UTIL_LOGE("Could not set pkey with rsa key");
+- RSA_free(r);
+- EVP_PKEY_free(pkey);
++
++ } else if (key_type == CKK_RSA) {
++
++ CK_ATTRIBUTE_PTR exp = attr_get_attribute_by_type(attrs, CKA_PUBLIC_EXPONENT);
++ if (!exp) {
++ LOGE("RSA Object must have attribute CKA_PUBLIC_EXPONENT");
+ return CKR_GENERAL_ERROR;
+ }
++
++ CK_ATTRIBUTE_PTR mod = attr_get_attribute_by_type(attrs, CKA_MODULUS);
++ if (!mod) {
++ LOGE("RSA Object must have attribute CKA_MODULUS");
++ return CKR_GENERAL_ERROR;
++ }
++
++ rv = get_RSA_evp_pubkey(exp, mod, &pkey);
++ if (rv != CKR_OK) {
++ return rv;
++ }
++
+ } else {
+ LOGE("Invalid CKA_KEY_TYPE, got: %lu", key_type);
+- EVP_PKEY_free(pkey);
+ return CKR_KEY_TYPE_INCONSISTENT;
+ }
+
++ assert(pkey);
+ *outpkey = pkey;
+
+ return CKR_OK;
+@@ -406,10 +465,12 @@ CK_RV ssl_util_setup_evp_pkey_ctx(EVP_PK
+ }
+ }
+
+- rc = EVP_PKEY_CTX_set_signature_md(pkey_ctx, md);
+- if (!rc) {
+- SSL_UTIL_LOGE("EVP_PKEY_CTX_set_signature_md failed");
+- goto error;
++ if (md) {
++ rc = EVP_PKEY_CTX_set_signature_md(pkey_ctx, md);
++ if (!rc) {
++ SSL_UTIL_LOGE("EVP_PKEY_CTX_set_signature_md failed");
++ goto error;
++ }
+ }
+
+ *outpkey_ctx = pkey_ctx;
+@@ -421,21 +482,12 @@ error:
+ return CKR_GENERAL_ERROR;
+ }
+
+-static CK_RV do_sig_verify_rsa(EVP_PKEY *pkey,
+- int padding, const EVP_MD *md,
+- CK_BYTE_PTR digest, CK_ULONG digest_len,
+- CK_BYTE_PTR signature, CK_ULONG signature_len) {
++static CK_RV sig_verify(EVP_PKEY_CTX *ctx,
++ const unsigned char *sig, size_t siglen,
++ const unsigned char *tbs, size_t tbslen) {
+
+ CK_RV rv = CKR_GENERAL_ERROR;
+-
+- EVP_PKEY_CTX *pkey_ctx = NULL;
+- rv = ssl_util_setup_evp_pkey_ctx(pkey, padding, md,
+- EVP_PKEY_verify_init, &pkey_ctx);
+- if (rv != CKR_OK) {
+- return rv;
+- }
+-
+- int rc = EVP_PKEY_verify(pkey_ctx, signature, signature_len, digest, digest_len);
++ int rc = EVP_PKEY_verify(ctx, sig, siglen, tbs, tbslen);
+ if (rc < 0) {
+ SSL_UTIL_LOGE("EVP_PKEY_verify failed");
+ } else if (rc == 1) {
+@@ -444,11 +496,11 @@ static CK_RV do_sig_verify_rsa(EVP_PKEY
+ rv = CKR_SIGNATURE_INVALID;
+ }
+
+- EVP_PKEY_CTX_free(pkey_ctx);
+ return rv;
+ }
+
+-static CK_RV create_ecdsa_sig(CK_BYTE_PTR sig, CK_ULONG siglen, ECDSA_SIG **outsig) {
++static CK_RV create_ecdsa_sig(CK_BYTE_PTR sig, CK_ULONG siglen,
++ unsigned char **outbuf, size_t *outlen) {
+
+ if (siglen & 1) {
+ LOGE("Expected ECDSA signature length to be even, got : %lu",
+@@ -487,21 +539,48 @@ static CK_RV create_ecdsa_sig(CK_BYTE_PT
+ return CKR_GENERAL_ERROR;
+ }
+
+- *outsig = ossl_sig;
++ int sig_len =i2d_ECDSA_SIG(ossl_sig, NULL);
++ if (sig_len <= 0) {
++ if (rc < 0) {
++ SSL_UTIL_LOGE("ECDSA_do_verify failed");
++ } else {
++ LOGE("Expected length to be greater than 0");
++ }
++ ECDSA_SIG_free(ossl_sig);
++ return CKR_GENERAL_ERROR;
++ }
++
++ unsigned char *buf = calloc(1, sig_len);
++ if (!buf) {
++ LOGE("oom");
++ ECDSA_SIG_free(ossl_sig);
++ return CKR_HOST_MEMORY;
++ }
++
++ unsigned char *p = buf;
++ int sig_len2 = i2d_ECDSA_SIG(ossl_sig, &p);
++ if (sig_len2 < 0) {
++ SSL_UTIL_LOGE("ECDSA_do_verify failed");
++ ECDSA_SIG_free(ossl_sig);
++ free(buf);
++ return CKR_GENERAL_ERROR;
++ }
++
++ assert(sig_len == sig_len2);
++
++ ECDSA_SIG_free(ossl_sig);
++
++ *outbuf = buf;
++ *outlen = sig_len;
+
+ return CKR_OK;
+ }
+
+ static CK_RV do_sig_verify_ec(EVP_PKEY *pkey,
++ const EVP_MD *md,
+ CK_BYTE_PTR digest, CK_ULONG digest_len,
+ CK_BYTE_PTR signature, CK_ULONG signature_len) {
+
+- EC_KEY *eckey = EVP_PKEY_get0_EC_KEY(pkey);
+- if (!eckey) {
+- LOGE("Expected EC Key");
+- return CKR_GENERAL_ERROR;
+- }
+-
+ /*
+ * OpenSSL expects ASN1 framed signatures, PKCS11 does flat
+ * R + S signatures, so convert it to ASN1 framing.
+@@ -509,21 +588,47 @@ static CK_RV do_sig_verify_ec(EVP_PKEY *
+ * https://github.com/tpm2-software/tpm2-pkcs11/issues/277
+ * For details.
+ */
+- ECDSA_SIG *ossl_sig = NULL;
+- CK_RV rv = create_ecdsa_sig(signature, signature_len, &ossl_sig);
++ unsigned char *buf = NULL;
++ size_t buflen = 0;
++ CK_RV rv = create_ecdsa_sig(signature, signature_len, &buf, &buflen);
+ if (rv != CKR_OK) {
+ return rv;
+ }
+
+- int rc = ECDSA_do_verify(digest, digest_len, ossl_sig, eckey);
+- if (rc < 0) {
+- ECDSA_SIG_free(ossl_sig);
+- SSL_UTIL_LOGE("ECDSA_do_verify failed");
+- return CKR_GENERAL_ERROR;
++ EVP_PKEY_CTX *pkey_ctx = NULL;
++ rv = ssl_util_setup_evp_pkey_ctx(pkey, 0, md,
++ EVP_PKEY_verify_init, &pkey_ctx);
++ if (rv != CKR_OK) {
++ free(buf);
++ return rv;
+ }
+- ECDSA_SIG_free(ossl_sig);
+
+- return rc == 1 ? CKR_OK : CKR_SIGNATURE_INVALID;
++ rv = sig_verify(pkey_ctx, buf, buflen, digest, digest_len);
++
++ EVP_PKEY_CTX_free(pkey_ctx);
++ free(buf);
++
++ return rv;
++}
++
++static CK_RV do_sig_verify_rsa(EVP_PKEY *pkey,
++ int padding, const EVP_MD *md,
++ CK_BYTE_PTR digest, CK_ULONG digest_len,
++ CK_BYTE_PTR signature, CK_ULONG signature_len) {
++
++ CK_RV rv = CKR_GENERAL_ERROR;
++
++ EVP_PKEY_CTX *pkey_ctx = NULL;
++ rv = ssl_util_setup_evp_pkey_ctx(pkey, padding, md,
++ EVP_PKEY_verify_init, &pkey_ctx);
++ if (rv != CKR_OK) {
++ return rv;
++ }
++
++ rv = sig_verify(pkey_ctx, signature, signature_len, digest, digest_len);
++
++ EVP_PKEY_CTX_free(pkey_ctx);
++ return rv;
+ }
+
+ CK_RV ssl_util_sig_verify(EVP_PKEY *pkey,
+@@ -538,7 +643,7 @@ CK_RV ssl_util_sig_verify(EVP_PKEY *pkey
+ digest, digest_len,
+ signature, signature_len);
+ case EVP_PKEY_EC:
+- return do_sig_verify_ec(pkey, digest, digest_len,
++ return do_sig_verify_ec(pkey, md, digest, digest_len,
+ signature, signature_len);
+ default:
+ LOGE("Unknown PKEY type, got: %d", type);
+@@ -577,3 +682,65 @@ CK_RV ssl_util_verify_recover(EVP_PKEY *
+ EVP_PKEY_CTX_free(pkey_ctx);
+ return rv;
+ }
++
++twist ssl_util_hash_pass(const twist pin, const twist salt) {
++
++
++ twist out = NULL;
++ unsigned char md[SHA256_DIGEST_LENGTH];
++
++ EVP_MD_CTX *ctx = EVP_MD_CTX_new();
++ if (!ctx) {
++ SSL_UTIL_LOGE("EVP_MD_CTX_new");
++ return NULL;
++ }
++
++ int rc = EVP_DigestInit(ctx, EVP_sha256());
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_DigestInit");
++ goto error;
++ }
++
++ rc = EVP_DigestUpdate(ctx, pin, twist_len(pin));
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_DigestUpdate");
++ goto error;
++ }
++
++ rc = EVP_DigestUpdate(ctx, salt, twist_len(salt));
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_DigestUpdate");
++ goto error;
++ }
++
++ unsigned int len = sizeof(md);
++ rc = EVP_DigestFinal(ctx, md, &len);
++ if (rc != 1) {
++ SSL_UTIL_LOGE("EVP_DigestFinal");
++ goto error;
++ }
++
++ /* truncate the password to 32 characters */
++ out = twist_hex_new((char *)md, sizeof(md)/2);
++
++error:
++ EVP_MD_CTX_free(ctx);
++
++ return out;
++}
++
++CK_RV ssl_util_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid) {
++
++ const unsigned char *p = ecparams->pValue;
++
++ ASN1_OBJECT *a = d2i_ASN1_OBJECT(NULL, &p, ecparams->ulValueLen);
++ if (!a) {
++ LOGE("Unknown CKA_EC_PARAMS value");
++ return CKR_ATTRIBUTE_VALUE_INVALID;
++ }
++
++ *nid = OBJ_obj2nid(a);
++ ASN1_OBJECT_free(a);
++
++ return CKR_OK;
++}
+Index: git/src/lib/ssl_util.h
+===================================================================
+--- git.orig/src/lib/ssl_util.h
++++ git/src/lib/ssl_util.h
+@@ -11,8 +11,8 @@
+
+ #include "pkcs11.h"
+
++#include "attrs.h"
+ #include "log.h"
+-#include "object.h"
+ #include "twist.h"
+
+ #if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
+@@ -22,6 +22,10 @@
+ #define LIB_TPM2_OPENSSL_OPENSSL_POST111 0x1010100f
+ #endif
+
++#if (OPENSSL_VERSION_NUMBER >= 0x30000000) /* OpenSSL 3.0.0 */
++#define LIB_TPM2_OPENSSL_OPENSSL_POST300 0x1010100f
++#endif
++
+ /* OpenSSL Backwards Compat APIs */
+ #if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
+ #include <string.h>
+@@ -58,7 +62,7 @@ static inline void *OPENSSL_memdup(const
+
+ #define SSL_UTIL_LOGE(m) LOGE("%s: %s", m, ERR_error_string(ERR_get_error(), NULL));
+
+-CK_RV ssl_util_tobject_to_evp(EVP_PKEY **outpkey, tobject *obj);
++CK_RV ssl_util_attrs_to_evp(attr_list *attrs, EVP_PKEY **outpkey);
+
+ CK_RV ssl_util_encrypt(EVP_PKEY *pkey,
+ int padding, twist label, const EVP_MD *md,
+@@ -82,4 +86,27 @@ CK_RV ssl_util_setup_evp_pkey_ctx(EVP_PK
+ fn_EVP_PKEY_init init_fn,
+ EVP_PKEY_CTX **outpkey_ctx);
+
++CK_RV ssl_util_add_PKCS1_PSS(EVP_PKEY *pkey,
++ const CK_BYTE_PTR inbuf, const EVP_MD *md,
++ CK_BYTE_PTR outbuf);
++
++CK_RV ssl_util_add_PKCS1_TYPE_1(const CK_BYTE_PTR inbuf, CK_ULONG inlen,
++ CK_BYTE_PTR outbuf, CK_ULONG outbuflen);
++
++CK_RV ssl_util_check_PKCS1_TYPE_2(const CK_BYTE_PTR inbuf, CK_ULONG inlen, CK_ULONG rsa_len,
++ CK_BYTE_PTR outbuf, CK_ULONG_PTR outbuflen);
++
++twist ssl_util_hash_pass(const twist pin, const twist salt);
++
++/**
++ * Given an attribute of CKA_EC_PARAMS returns the nid value.
++ * @param ecparams
++ * The DER X9.62 parameters value
++ * @param nid
++ * The nid to set
++ * @return
++ * CKR_OK on success.
++ */
++CK_RV ssl_util_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid);
++
+ #endif /* SRC_LIB_SSL_UTIL_H_ */
+Index: git/src/lib/tpm.c
+===================================================================
+--- git.orig/src/lib/tpm.c
++++ git/src/lib/tpm.c
+@@ -3099,7 +3099,7 @@ static CK_RV handle_ecparams(CK_ATTRIBUT
+ tpm_key_data *keydat = (tpm_key_data *)udata;
+
+ int nid = 0;
+- CK_RV rv = ec_params_to_nid(attr, &nid);
++ CK_RV rv = ssl_util_params_to_nid(attr, &nid);
+ if (rv != CKR_OK) {
+ return rv;
+ }
+@@ -3451,7 +3451,7 @@ static EC_POINT *tpm_pub_to_ossl_pub(EC_
+ goto out;
+ }
+
+- int rc = EC_POINT_set_affine_coordinates_GFp(group,
++ int rc = EC_POINT_set_affine_coordinates(group,
+ pub_key_point_tmp,
+ bn_x,
+ bn_y,
+@@ -4579,7 +4579,7 @@ CK_RV tpm_get_pss_sig_state(tpm_ctx *tct
+ goto out;
+ }
+
+- rv = ssl_util_tobject_to_evp(&pkey, tobj);
++ rv = ssl_util_attrs_to_evp(tobj->attrs, &pkey);
+ if (rv != CKR_OK) {
+ goto out;
+ }
+Index: git/src/lib/utils.c
+===================================================================
+--- git.orig/src/lib/utils.c
++++ git/src/lib/utils.c
+@@ -7,6 +7,7 @@
+ #include <openssl/sha.h>
+
+ #include "log.h"
++#include "ssl_util.h"
+ #include "token.h"
+ #include "utils.h"
+
+@@ -45,7 +46,7 @@ CK_RV utils_setup_new_object_auth(twist
+ pin_to_use = newpin;
+ }
+
+- *newauthhex = utils_hash_pass(pin_to_use, salt_to_use);
++ *newauthhex = ssl_util_hash_pass(pin_to_use, salt_to_use);
+ if (!*newauthhex) {
+ goto out;
+ }
+@@ -330,22 +331,6 @@ out:
+
+ }
+
+-twist utils_hash_pass(const twist pin, const twist salt) {
+-
+-
+- unsigned char md[SHA256_DIGEST_LENGTH];
+-
+- SHA256_CTX sha256;
+- SHA256_Init(&sha256);
+-
+- SHA256_Update(&sha256, pin, twist_len(pin));
+- SHA256_Update(&sha256, salt, twist_len(salt));
+- SHA256_Final(md, &sha256);
+-
+- /* truncate the password to 32 characters */
+- return twist_hex_new((char *)md, sizeof(md)/2);
+-}
+-
+ size_t utils_get_halg_size(CK_MECHANISM_TYPE mttype) {
+
+ switch(mttype) {
+@@ -448,22 +433,6 @@ CK_RV utils_ctx_wrap_objauth(twist wrapp
+
+ return CKR_OK;
+ }
+-
+-CK_RV ec_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid) {
+-
+- const unsigned char *p = ecparams->pValue;
+-
+- ASN1_OBJECT *a = d2i_ASN1_OBJECT(NULL, &p, ecparams->ulValueLen);
+- if (!a) {
+- LOGE("Unknown CKA_EC_PARAMS value");
+- return CKR_ATTRIBUTE_VALUE_INVALID;
+- }
+-
+- *nid = OBJ_obj2nid(a);
+- ASN1_OBJECT_free(a);
+-
+- return CKR_OK;
+-}
+
+ CK_RV apply_pkcs7_pad(const CK_BYTE_PTR in, CK_ULONG inlen,
+ CK_BYTE_PTR out, CK_ULONG_PTR outlen) {
+Index: git/src/lib/utils.h
+===================================================================
+--- git.orig/src/lib/utils.h
++++ git/src/lib/utils.h
+@@ -45,8 +45,6 @@ static inline void _str_padded_copy(CK_U
+ memcpy(dst, src, src_len);
+ }
+
+-twist utils_hash_pass(const twist pin, const twist salt);
+-
+ twist aes256_gcm_decrypt(const twist key, const twist objauth);
+
+ twist aes256_gcm_encrypt(twist keybin, twist plaintextbin);
+@@ -77,17 +75,6 @@ CK_RV utils_ctx_unwrap_objauth(twist wra
+ CK_RV utils_ctx_wrap_objauth(twist wrappingkey, twist objauth, twist *wrapped_auth);
+
+ /**
+- * Given an attribute of CKA_EC_PARAMS returns the nid value.
+- * @param ecparams
+- * The DER X9.62 parameters value
+- * @param nid
+- * The nid to set
+- * @return
+- * CKR_OK on success.
+- */
+-CK_RV ec_params_to_nid(CK_ATTRIBUTE_PTR ecparams, int *nid);
+-
+-/**
+ * Removes a PKCS7 padding on a 16 byte block.
+ * @param in
+ * The PKCS5 padded input.
+Index: git/test/integration/pkcs-sign-verify.int.c
+===================================================================
+--- git.orig/test/integration/pkcs-sign-verify.int.c
++++ git/test/integration/pkcs-sign-verify.int.c
+@@ -1061,70 +1061,13 @@ static void test_double_sign_final_call_
+ assert_int_equal(rv, CKR_OK);
+ }
+
+-static CK_ATTRIBUTE_PTR get_attr(CK_ATTRIBUTE_TYPE type, CK_ATTRIBUTE_PTR attrs, CK_ULONG attr_len) {
+-
+- CK_ULONG i;
+- for (i=0; i < attr_len; i++) {
+- CK_ATTRIBUTE_PTR a = &attrs[i];
+- if (a->type == type) {
+- return a;
+- }
+- }
+-
+- return NULL;
+-}
+-
+-#if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
+-#define LIB_TPM2_OPENSSL_OPENSSL_PRE11
+-#endif
+-
+-RSA *template_to_rsa_pub_key(CK_ATTRIBUTE_PTR attrs, CK_ULONG attr_len) {
+-
+- RSA *ssl_rsa_key = NULL;
+- BIGNUM *e = NULL, *n = NULL;
+-
+- /* get the exponent */
+- CK_ATTRIBUTE_PTR a = get_attr(CKA_PUBLIC_EXPONENT, attrs, attr_len);
+- assert_non_null(a);
+-
+- e = BN_bin2bn((void*)a->pValue, a->ulValueLen, NULL);
+- assert_non_null(e);
+-
+- /* get the modulus */
+- a = get_attr(CKA_MODULUS, attrs, attr_len);
+- assert_non_null(a);
+-
+- n = BN_bin2bn(a->pValue, a->ulValueLen,
+- NULL);
+- assert_non_null(n);
+-
+- ssl_rsa_key = RSA_new();
+- assert_non_null(ssl_rsa_key);
+-
+-#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
+- ssl_rsa_key->e = e;
+- ssl_rsa_key->n = n;
+-#else
+- int rc = RSA_set0_key(ssl_rsa_key, n, e, NULL);
+- assert_int_equal(rc, 1);
+-#endif
+-
+- return ssl_rsa_key;
+-}
+-
+-static void verify(RSA *pub, CK_BYTE_PTR msg, CK_ULONG msg_len, CK_BYTE_PTR sig, CK_ULONG sig_len) {
+-
+- EVP_PKEY *pkey = EVP_PKEY_new();
+- assert_non_null(pkey);
+-
+- int rc = EVP_PKEY_set1_RSA(pkey, pub);
+- assert_int_equal(rc, 1);
++static void verify(EVP_PKEY *pkey, CK_BYTE_PTR msg, CK_ULONG msg_len, CK_BYTE_PTR sig, CK_ULONG sig_len) {
+
+ EVP_MD_CTX *ctx = EVP_MD_CTX_create();
+ const EVP_MD* md = EVP_get_digestbyname("SHA256");
+ assert_non_null(md);
+
+- rc = EVP_DigestInit_ex(ctx, md, NULL);
++ int rc = EVP_DigestInit_ex(ctx, md, NULL);
+ assert_int_equal(rc, 1);
+
+ rc = EVP_DigestVerifyInit(ctx, NULL, md, NULL, pkey);
+@@ -1136,7 +1079,6 @@ static void verify(RSA *pub, CK_BYTE_PTR
+ rc = EVP_DigestVerifyFinal(ctx, sig, sig_len);
+ assert_int_equal(rc, 1);
+
+- EVP_PKEY_free(pkey);
+ EVP_MD_CTX_destroy(ctx);
+ }
+
+@@ -1170,20 +1112,38 @@ static void test_sign_verify_public(void
+ assert_int_equal(siglen, 256);
+
+ /* build an OSSL RSA key from parts */
+- CK_BYTE _tmp_bufs[2][1024];
++ CK_BYTE _tmp_bufs[3][1024];
+ CK_ATTRIBUTE attrs[] = {
+- { .type = CKA_PUBLIC_EXPONENT, .ulValueLen = sizeof(_tmp_bufs[0]), .pValue = &_tmp_bufs[0] },
+- { .type = CKA_MODULUS, .ulValueLen = sizeof(_tmp_bufs[1]), .pValue = &_tmp_bufs[1] },
++ { .type = CKA_KEY_TYPE, .ulValueLen = sizeof(_tmp_bufs[0]), .pValue = &_tmp_bufs[0] },
++ { .type = CKA_PUBLIC_EXPONENT, .ulValueLen = sizeof(_tmp_bufs[0]), .pValue = &_tmp_bufs[1] },
++ { .type = CKA_MODULUS, .ulValueLen = sizeof(_tmp_bufs[1]), .pValue = &_tmp_bufs[2] },
+ };
+
+ rv = C_GetAttributeValue(session, pub_handle, attrs, ARRAY_LEN(attrs));
+ assert_int_equal(rv, CKR_OK);
+
+- RSA *r = template_to_rsa_pub_key(attrs, ARRAY_LEN(attrs));
+- assert_non_null(r);
++ CK_KEY_TYPE key_type = CKA_KEY_TYPE_BAD;
++ rv = attr_CK_KEY_TYPE(&attrs[0], &key_type);
++ assert_int_equal(rv, CKR_OK);
++
++ EVP_PKEY *pkey = NULL;
++ attr_list *l = attr_list_new();
++
++ bool res = attr_list_add_int(l, CKA_KEY_TYPE, key_type);
++ assert_true(res);
+
+- verify(r, msg, sizeof(msg) - 1, sig, siglen);
+- RSA_free(r);
++ res = attr_list_add_buf(l, attrs[1].type, attrs[1].pValue, attrs[1].ulValueLen);
++ assert_true(res);
++
++ res = attr_list_add_buf(l, attrs[2].type, attrs[2].pValue, attrs[2].ulValueLen);
++ assert_true(res);
++
++ rv = ssl_util_attrs_to_evp(l, &pkey);
++ assert_int_equal(rv, CKR_OK);
++ attr_list_free(l);
++
++ verify(pkey, msg, sizeof(msg) - 1, sig, siglen);
++ EVP_PKEY_free(pkey);
+ }
+
+ static void test_sign_verify_context_specific_good(void **state) {
diff --git a/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch b/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch
new file mode 100644
index 0000000..ef0a6dc
--- /dev/null
+++ b/meta-tpm/recipes-tpm2/tpm2-pkcs11/files/0002-ossl-require-version-1.1.0-or-greater.patch
@@ -0,0 +1,93 @@
+From d33e5ef0b11125fe4683d7bfa17023e24997f587 Mon Sep 17 00:00:00 2001
+From: William Roberts <william.c.roberts@...>
+Date: Fri, 3 Sep 2021 11:30:50 -0500
+Subject: [PATCH 2/2] ossl: require version 1.1.0 or greater
+
+THIS DROPS SUPPORT FOR OSSL 1.0.2.
+
+Signed-off-by: William Roberts <william.c.roberts@...>
+
+Upstream-Status: Backport
+Signed-off-by: Armin Kuster <akuster808@...>
+---
+ configure.ac | 2 +-
+ src/lib/ssl_util.h | 43 +++++--------------------------------------
+ 2 files changed, 6 insertions(+), 39 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index a7aeaf5..94fb5d4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -55,7 +55,7 @@ PKG_CHECK_EXISTS([tss2-esys >= 3.0],
+ # require sqlite3 and libcrypto
+ PKG_CHECK_MODULES([SQLITE3], [sqlite3])
+ PKG_CHECK_MODULES([YAML], [yaml-0.1])
+-PKG_CHECK_MODULES([CRYPTO], [libcrypto >= 1.0.2g])
++PKG_CHECK_MODULES([CRYPTO], [libcrypto >= 1.1.0])
+
+ # check for pthread
+ AX_PTHREAD([],[AC_MSG_ERROR([Cannot find pthread])])
+diff --git a/src/lib/ssl_util.h b/src/lib/ssl_util.h
+index 9909fd6..2591728 100644
+--- a/src/lib/ssl_util.h
++++ b/src/lib/ssl_util.h
+@@ -15,51 +15,18 @@
+ #include "log.h"
+ #include "twist.h"
+
+-#if (OPENSSL_VERSION_NUMBER < 0x1010000fL && !defined(LIBRESSL_VERSION_NUMBER)) || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L) /* OpenSSL 1.1.0 */
+-#define LIB_TPM2_OPENSSL_OPENSSL_PRE11
+-/* LibreSSL does not appear to have evperr.h, so their is no need to define this otherwise */
+-#elif (OPENSSL_VERSION_NUMBER >= 0x1010100fL) /* OpenSSL 1.1.1 */
++#if (OPENSSL_VERSION_NUMBER >= 0x1010100fL) /* OpenSSL 1.1.1 */
+ #define LIB_TPM2_OPENSSL_OPENSSL_POST111 0x1010100f
+ #endif
+
+-#if (OPENSSL_VERSION_NUMBER >= 0x30000000) /* OpenSSL 3.0.0 */
+-#define LIB_TPM2_OPENSSL_OPENSSL_POST300 0x1010100f
++#if defined(LIB_TPM2_OPENSSL_OPENSSL_POST111)
++#include <openssl/evperr.h>
+ #endif
+
+-/* OpenSSL Backwards Compat APIs */
+-#if defined(LIB_TPM2_OPENSSL_OPENSSL_PRE11)
+-#include <string.h>
+-size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point,
+- point_conversion_form_t form,
+- unsigned char **pbuf, BN_CTX *ctx);
+-
+-const unsigned char *ASN1_STRING_get0_data(const ASN1_STRING *x);
+-
+-int RSA_set0_key(RSA *r, BIGNUM *n, BIGNUM *e, BIGNUM *d);
+-
+-int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s);
+-
+-EC_KEY *EVP_PKEY_get0_EC_KEY(EVP_PKEY *pkey);
+-
+-static inline void *OPENSSL_memdup(const void *dup, size_t l) {
+-
+- void *p = OPENSSL_malloc(l);
+- if (!p) {
+- return NULL;
+- }
+-
+- memcpy(p, dup, l);
+- return p;
+-}
+-
+-#endif
+-
+-#ifndef RSA_PSS_SALTLEN_DIGEST
+-#define RSA_PSS_SALTLEN_DIGEST -1
++#if (OPENSSL_VERSION_NUMBER >= 0x30000000) /* OpenSSL 3.0.0 */
++#define LIB_TPM2_OPENSSL_OPENSSL_POST300 0x1010100f
+ #endif
+
+-/* Utility APIs */
+-
+ #define SSL_UTIL_LOGE(m) LOGE("%s: %s", m, ERR_error_string(ERR_get_error(), NULL));
+
+ CK_RV ssl_util_attrs_to_evp(attr_list *attrs, EVP_PKEY **outpkey);
+--
+2.25.1
+
diff --git a/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb b/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb
index 366e9da..3a0917a 100644
--- a/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb
+++ b/meta-tpm/recipes-tpm2/tpm2-pkcs11/tpm2-pkcs11_1.7.0.bb
@@ -9,9 +9,11 @@ DEPENDS = "autoconf-archive pkgconfig dstat sqlite3 openssl libtss2-dev tpm2-too
SRC_URI = "git://github.com/tpm2-software/tpm2-pkcs11.git;branch=master;protocol=https \
file://bootstrap_fixup.patch \
file://0001-remove-local-binary-checkes.patch \
+ file://0001-ssl-compile-against-OSSL-3.0.patch \
+ file://0002-ossl-require-version-1.1.0-or-greater.patch \
"

-SRCREV = "862bdb845910342cd7b6e6da7495f6ee7d090a37"
+SRCREV = "11fd2532ce10e97834a57dfb25bff6c613a5a851"

S = "${WORKDIR}/git"

--
2.25.1


Re: [meta-security][PATCH] dm-verity-img.bbclass: Fix wrong override syntax for CONVERSION_DEPENDS

Armin Kuster
 

On 12/17/21 2:29 AM, Kristian Klausen via lists.yoctoproject.org wrote:
On Fri, Dec 17, 2021 at 10:06:06 +0000, Jose Quaresma wrote:
Kristian Klausen via lists.yoctoproject.org <kristian=
klausen.dk@...> escreveu no dia sexta, 17/12/2021 à(s)
09:55:

CONVERSION_DEPENDS hasn't been converted to the new syntax.

Fixes: a23ceef ("dm-verity-img.bbclass: more overided fixups")

Signed-off-by: Kristian Klausen <kristian@...>
---
This should also be backported to honister.

classes/dm-verity-img.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/classes/dm-verity-img.bbclass b/classes/dm-verity-img.bbclass
index 0b6d053..93f667d 100644
--- a/classes/dm-verity-img.bbclass
+++ b/classes/dm-verity-img.bbclass
@@ -67,7 +67,7 @@ VERITY_TYPES = "ext2.verity ext3.verity ext4.verity
btrfs.verity"
IMAGE_TYPES += "${VERITY_TYPES}"
CONVERSIONTYPES += "verity"
CONVERSION_CMD:verity = "verity_setup ${type}"
-CONVERSION_DEPENDS:verity = "cryptsetup-native"
+CONVERSION_DEPENDS_verity = "cryptsetup-native"
This syntax don't work anymore with oe-core master branch
(resend as I forgot to CC the list)

Are you sure? This was tested with the honister branch, but the code is
the same[1].

[1] https://git.openembedded.org/openembedded-core/tree/meta/classes/image_types.bbclass#n40
correct. The new overright syntax is now ":" instead off "_".

-armin


python __anonymous() {
verity_image = d.getVar('DM_VERITY_IMAGE')
--
2.34.1




--
Best regards,

José Quaresma



[psplash][PATCH 2/2] Add CMakeLists.txt to build project with cmake

LM.H.
 

Example:
mkdir build && cd build
cmake ../ -DHAVE_SYSTEMD=ON
make

Signed-off-by: LM.H <hyyoxhk@...>
---
CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..1a7e6f1
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,41 @@
+cmake_minimum_required(VERSION 3.1.0)
+
+project(psplash LANGUAGES C)
+
+option(HAVE_SYSTEMD "Build with systemd support" OFF)
+option(DISABLE_STARTUP_MSG "Disable text banner output on startup" OFF)
+option(DISABLE_PROGRESS_BAR "Disable progress bar" OFF)
+option(IMG_FULLSCREEN "Enable the logo image in fullscreen mode" OFF)
+
+set(PSPLASH_SRCS psplash-console.c
+ psplash-fb.c
+ psplash.c)
+
+add_executable(psplash ${PSPLASH_SRCS})
+add_executable(psplash-write psplash-write.c)
+
+if (HAVE_SYSTEMD)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(SYSTEMD REQUIRED libsystemd>=221)
+ add_executable(psplash-systemd psplash-systemd.c)
+ target_link_libraries(psplash-systemd systemd)
+endif()
+
+if (NOT FONT_NAME)
+ set(FONT_NAME radeon)
+endif()
+
+add_definitions(-DFONT_HEADER=\"${FONT_NAME}-font.h\")
+add_definitions(-DFONT_DEF=${FONT_NAME}_font)
+
+if(DISABLE_STARTUP_MSG)
+ add_definitions(-DPSPLASH_DISABLE_STARTUP_MSG)
+endif()
+
+if(DISABLE_PROGRESS_BAR)
+ add_definitions(-DPSPLASH_DISABLE_PROGRESS_BAR)
+endif()
+
+if(IMG_FULLSCREEN)
+ add_definitions(-DPSPLASH_IMG_FULLSCREEN=1)
+endif()
--
2.17.1


[psplash][PATCH 1/2] Change the coding style to be the same as the linux kernel

LM.H.
 

The original coding style is not conducive to reading, I find
that the coding style of the linux kernel makes reading more
enjoyable

Signed-off-by: LM.H <hyyoxhk@...>
---
psplash-console.c | 287 ++-
psplash-console.h | 6 +-
psplash-fb.c | 1071 ++++-----
psplash-fb.h | 118 +-
psplash-systemd.c | 39 +-
psplash-write.c | 55 +-
psplash.c | 527 ++--
psplash.h | 27 +-
radeon-font.h | 5844 ++++++++++++++++++++++-----------------------
9 files changed, 3941 insertions(+), 4033 deletions(-)

diff --git a/psplash-console.c b/psplash-console.c
index 3a40620..ecff91f 100644
--- a/psplash-console.c
+++ b/psplash-console.c
@@ -10,178 +10,163 @@
#include "psplash.h"

/* Globals, needed for signal handling */
-static int ConsoleFd = -1;
-static int VTNum = -1;
-static int VTNumInitial = -1;
-static int Visible = 1;
+static int ConsoleFd = -1;
+static int VTNum = -1;
+static int VTNumInitial = -1;
+static int Visible = 1;

-static void
-vt_request (int UNUSED(sig))
+static void vt_request(int UNUSED(sig))
{
- DBG("mark, visible:%i", Visible);
-
- if (Visible)
- {
- /* Allow Switch Away */
- if (ioctl (ConsoleFd, VT_RELDISP, 1) < 0)
- perror("Error cannot switch away from console");
- Visible = 0;
-
- /* FIXME:
- * We likely now want to signal the main loop as to exit
- * and we've now likely switched to the X tty. Note, this
- * seems to happen anyway atm due to select() call getting
- * a signal interuption error - not sure if this is really
- * reliable however.
- */
- }
- else
- {
- if (ioctl (ConsoleFd, VT_RELDISP, VT_ACKACQ))
- perror ("Error can't acknowledge VT switch");
- Visible = 1;
- /* FIXME: need to schedule repaint some how ? */
- }
+ DBG("mark, visible:%i", Visible);
+
+ if (Visible) {
+ /* Allow Switch Away */
+ if (ioctl(ConsoleFd, VT_RELDISP, 1) < 0)
+ perror("Error cannot switch away from console");
+ Visible = 0;
+
+ /* FIXME:
+ * We likely now want to signal the main loop as to exit
+ * and we've now likely switched to the X tty. Note, this
+ * seems to happen anyway atm due to select() call getting
+ * a signal interuption error - not sure if this is really
+ * reliable however.
+ */
+ } else {
+ if (ioctl(ConsoleFd, VT_RELDISP, VT_ACKACQ))
+ perror("Error can't acknowledge VT switch");
+ Visible = 1;
+ /* FIXME: need to schedule repaint some how ? */
+ }
}

-static void
-psplash_console_ignore_switches (void)
+static void psplash_console_ignore_switches(void)
{
- struct sigaction act;
- struct vt_mode vt_mode;
-
- if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0)
- {
- perror("Error VT_SETMODE failed");
- return;
- }
-
- act.sa_handler = SIG_IGN;
- sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGUSR1, &act, 0);
-
- vt_mode.mode = VT_AUTO;
- vt_mode.relsig = 0;
- vt_mode.acqsig = 0;
-
- if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
- perror("Error VT_SETMODE failed");
+ struct sigaction act;
+ struct vt_mode vt_mode;
+
+ if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0) {
+ perror("Error VT_SETMODE failed");
+ return;
+ }
+
+ act.sa_handler = SIG_IGN;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = 0;
+ sigaction(SIGUSR1, &act, 0);
+
+ vt_mode.mode = VT_AUTO;
+ vt_mode.relsig = 0;
+ vt_mode.acqsig = 0;
+
+ if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
+ perror("Error VT_SETMODE failed");
}

-static void
-psplash_console_handle_switches (void)
+static void psplash_console_handle_switches(void)
{
- struct sigaction act;
- struct vt_mode vt_mode;
-
- if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0)
- {
- perror("Error VT_SETMODE failed");
- return;
- }
-
- act.sa_handler = vt_request;
- sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGUSR1, &act, 0);
-
- vt_mode.mode = VT_PROCESS;
- vt_mode.relsig = SIGUSR1;
- vt_mode.acqsig = SIGUSR1;
-
- if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
- perror("Error VT_SETMODE failed");
+ struct sigaction act;
+ struct vt_mode vt_mode;
+
+ if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0) {
+ perror("Error VT_SETMODE failed");
+ return;
+ }
+
+ act.sa_handler = vt_request;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = 0;
+ sigaction(SIGUSR1, &act, 0);
+
+ vt_mode.mode = VT_PROCESS;
+ vt_mode.relsig = SIGUSR1;
+ vt_mode.acqsig = SIGUSR1;
+
+ if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
+ perror("Error VT_SETMODE failed");
}

-void
-psplash_console_switch (void)
+void psplash_console_switch(void)
{
- char vtname[10];
- int fd;
- struct vt_stat vt_state;
-
- if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0)
- {
- perror("Error Cannot open /dev/tty0");
- return;
- }
-
- /* Find next free terminal */
- if ((ioctl(fd, VT_OPENQRY, &VTNum) < 0))
- {
- perror("Error unable to find a free virtual terminal");
- close(fd);
- return;
- }
-
- close(fd);
-
- sprintf(vtname,"/dev/tty%d", VTNum);
-
- if ((ConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0)
- {
- fprintf(stderr, "Error cannot open %s: %s\n", vtname, strerror(errno));
- return;
- }
-
- if (ioctl(ConsoleFd, VT_GETSTATE, &vt_state) == 0)
- VTNumInitial = vt_state.v_active;
-
- /* Switch to new free terminal */
-
- psplash_console_ignore_switches ();
-
- if (ioctl(ConsoleFd, VT_ACTIVATE, VTNum) != 0)
- perror("Error VT_ACTIVATE failed");
-
- if (ioctl(ConsoleFd, VT_WAITACTIVE, VTNum) != 0)
- perror("Error VT_WAITACTIVE failed\n");
-
- psplash_console_handle_switches ();
-
- if (ioctl(ConsoleFd, KDSETMODE, KD_GRAPHICS) < 0)
- perror("Error KDSETMODE KD_GRAPHICS failed\n");
-
- return;
+ char vtname[10];
+ int fd;
+ struct vt_stat vt_state;
+
+ if ((fd = open("/dev/tty0", O_WRONLY, 0)) < 0) {
+ perror("Error Cannot open /dev/tty0");
+ return;
+ }
+
+ /* Find next free terminal */
+ if ((ioctl(fd, VT_OPENQRY, &VTNum) < 0)) {
+ perror("Error unable to find a free virtual terminal");
+ close(fd);
+ return;
+ }
+
+ close(fd);
+
+ sprintf(vtname, "/dev/tty%d", VTNum);
+
+ if ((ConsoleFd = open(vtname, O_RDWR | O_NDELAY, 0)) < 0) {
+ fprintf(stderr, "Error cannot open %s: %s\n", vtname,
+ strerror(errno));
+ return;
+ }
+
+ if (ioctl(ConsoleFd, VT_GETSTATE, &vt_state) == 0)
+ VTNumInitial = vt_state.v_active;
+
+ /* Switch to new free terminal */
+
+ psplash_console_ignore_switches();
+
+ if (ioctl(ConsoleFd, VT_ACTIVATE, VTNum) != 0)
+ perror("Error VT_ACTIVATE failed");
+
+ if (ioctl(ConsoleFd, VT_WAITACTIVE, VTNum) != 0)
+ perror("Error VT_WAITACTIVE failed\n");
+
+ psplash_console_handle_switches();
+
+ if (ioctl(ConsoleFd, KDSETMODE, KD_GRAPHICS) < 0)
+ perror("Error KDSETMODE KD_GRAPHICS failed\n");
+
+ return;
}

-void
-psplash_console_reset (void)
+void psplash_console_reset(void)
{
- int fd;
- struct vt_stat vt_state;
+ int fd;
+ struct vt_stat vt_state;

- if (ConsoleFd < 0)
- return;
+ if (ConsoleFd < 0)
+ return;

- /* Back to text mode */
- ioctl(ConsoleFd, KDSETMODE, KD_TEXT);
+ /* Back to text mode */
+ ioctl(ConsoleFd, KDSETMODE, KD_TEXT);

- psplash_console_ignore_switches ();
+ psplash_console_ignore_switches();

- /* Attempt to switch back to initial console if were still active */
- ioctl (ConsoleFd, VT_GETSTATE, &vt_state);
+ /* Attempt to switch back to initial console if were still active */
+ ioctl(ConsoleFd, VT_GETSTATE, &vt_state);

- if (VTNum == vt_state.v_active)
- {
- if (VTNumInitial > -1)
- {
- ioctl (ConsoleFd, VT_ACTIVATE, VTNumInitial);
- ioctl (ConsoleFd, VT_WAITACTIVE, VTNumInitial);
- VTNumInitial = -1;
- }
- }
+ if (VTNum == vt_state.v_active) {
+ if (VTNumInitial > -1) {
+ ioctl(ConsoleFd, VT_ACTIVATE, VTNumInitial);
+ ioctl(ConsoleFd, VT_WAITACTIVE, VTNumInitial);
+ VTNumInitial = -1;
+ }
+ }

- /* Cleanup */
+ /* Cleanup */

- close(ConsoleFd);
+ close(ConsoleFd);

- if ((fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0)) >= 0)
- {
- ioctl (fd, VT_DISALLOCATE, VTNum);
- close (fd);
- }
+ if ((fd = open("/dev/tty0", O_RDWR | O_NDELAY, 0)) >= 0) {
+ ioctl(fd, VT_DISALLOCATE, VTNum);
+ close(fd);
+ }

- return;
+ return;
}
diff --git a/psplash-console.h b/psplash-console.h
index c893bf2..ffc1a0e 100644
--- a/psplash-console.h
+++ b/psplash-console.h
@@ -10,10 +10,8 @@
#ifndef _HAVE_PSPLASH_CONSOLE_H
#define _HAVE_PSPLASH_CONSOLE_H

-void
-psplash_console_switch (void);
+void psplash_console_switch(void);

-void
-psplash_console_reset (void);
+void psplash_console_reset(void);

#endif
diff --git a/psplash-fb.c b/psplash-fb.c
index 2babb5f..08bb2ad 100644
--- a/psplash-fb.c
+++ b/psplash-fb.c
@@ -10,616 +10,589 @@
#include <endian.h>
#include "psplash.h"

-static void
-psplash_wait_for_vsync(PSplashFB *fb)
+static void psplash_wait_for_vsync(PSplashFB * fb)
{
- int err = ioctl(fb->fd, FBIO_WAITFORVSYNC, 0);
- if (err != 0)
- fprintf(stderr, "Error, FB vsync ioctl [%d]\n", err);
+ int err = ioctl(fb->fd, FBIO_WAITFORVSYNC, 0);
+ if (err != 0)
+ fprintf(stderr, "Error, FB vsync ioctl [%d]\n", err);
}

-void
-psplash_fb_flip(PSplashFB *fb, int sync)
+void psplash_fb_flip(PSplashFB * fb, int sync)
{
- char *tmp;
-
- if (fb->double_buffering) {
-
- /* Carry out the flip after a vsync */
- psplash_wait_for_vsync(fb);
-
- /* Switch the current activate area in fb */
- if (fb->fb_var.yoffset == 0 ) {
- fb->fb_var.yoffset = fb->real_height;
- } else {
- fb->fb_var.yoffset = 0;
- }
- if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb->fb_var) == -1 ) {
- fprintf(stderr, "psplash_fb_flip: FBIOPAN_DISPLAY failed\n");
- }
-
- /* Switch the front and back data pointers */
- tmp = fb->fdata;
- fb->fdata = fb->bdata;
- fb->bdata = tmp;
-
- /* Sync new front to new back when requested */
- if (sync) {
- memcpy(fb->bdata, fb->fdata, fb->stride * fb->real_height);
- }
- }
+ char *tmp;
+
+ if (fb->double_buffering) {
+
+ /* Carry out the flip after a vsync */
+ psplash_wait_for_vsync(fb);
+
+ /* Switch the current activate area in fb */
+ if (fb->fb_var.yoffset == 0) {
+ fb->fb_var.yoffset = fb->real_height;
+ } else {
+ fb->fb_var.yoffset = 0;
+ }
+ if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb->fb_var) == -1) {
+ fprintf(stderr,
+ "psplash_fb_flip: FBIOPAN_DISPLAY failed\n");
+ }
+
+ /* Switch the front and back data pointers */
+ tmp = fb->fdata;
+ fb->fdata = fb->bdata;
+ fb->bdata = tmp;
+
+ /* Sync new front to new back when requested */
+ if (sync) {
+ memcpy(fb->bdata, fb->fdata,
+ fb->stride * fb->real_height);
+ }
+ }
}

-void
-psplash_fb_destroy (PSplashFB *fb)
+void psplash_fb_destroy(PSplashFB * fb)
{
- if (fb->fd >= 0)
- close (fb->fd);
+ if (fb->fd >= 0)
+ close(fb->fd);

- free(fb);
+ free(fb);
}

static int
-attempt_to_change_pixel_format (PSplashFB *fb,
- struct fb_var_screeninfo *fb_var)
+attempt_to_change_pixel_format(PSplashFB * fb, struct fb_var_screeninfo *fb_var)
{
- /* By default the framebuffer driver may have set an oversized
- * yres_virtual to support VT scrolling via the panning interface.
- *
- * We don't try and maintain this since it's more likely that we
- * will fail to increase the bpp if the driver's pre allocated
- * framebuffer isn't large enough.
- */
- fb_var->yres_virtual = fb_var->yres;
-
- /* First try setting an 8,8,8,0 pixel format so we don't have to do
- * any conversions while drawing. */
-
- fb_var->bits_per_pixel = 32;
-
- fb_var->red.offset = 0;
- fb_var->red.length = 8;
-
- fb_var->green.offset = 8;
- fb_var->green.length = 8;
-
- fb_var->blue.offset = 16;
- fb_var->blue.length = 8;
-
- fb_var->transp.offset = 0;
- fb_var->transp.length = 0;
-
- if (ioctl (fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0)
- {
- fprintf(stdout, "Switched to a 32 bpp 8,8,8 frame buffer\n");
- return 1;
- }
- else
- {
- fprintf(stderr,
- "Error, failed to switch to a 32 bpp 8,8,8 frame buffer\n");
- }
-
- /* Otherwise try a 16bpp 5,6,5 format */
-
- fb_var->bits_per_pixel = 16;
-
- fb_var->red.offset = 11;
- fb_var->red.length = 5;
-
- fb_var->green.offset = 5;
- fb_var->green.length = 6;
-
- fb_var->blue.offset = 0;
- fb_var->blue.length = 5;
-
- fb_var->transp.offset = 0;
- fb_var->transp.length = 0;
-
- if (ioctl (fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0)
- {
- fprintf(stdout, "Switched to a 16 bpp 5,6,5 frame buffer\n");
- return 1;
- }
- else
- {
- fprintf(stderr,
- "Error, failed to switch to a 16 bpp 5,6,5 frame buffer\n");
- }
-
- return 0;
+ /* By default the framebuffer driver may have set an oversized
+ * yres_virtual to support VT scrolling via the panning interface.
+ *
+ * We don't try and maintain this since it's more likely that we
+ * will fail to increase the bpp if the driver's pre allocated
+ * framebuffer isn't large enough.
+ */
+ fb_var->yres_virtual = fb_var->yres;
+
+ /* First try setting an 8,8,8,0 pixel format so we don't have to do
+ * any conversions while drawing. */
+
+ fb_var->bits_per_pixel = 32;
+
+ fb_var->red.offset = 0;
+ fb_var->red.length = 8;
+
+ fb_var->green.offset = 8;
+ fb_var->green.length = 8;
+
+ fb_var->blue.offset = 16;
+ fb_var->blue.length = 8;
+
+ fb_var->transp.offset = 0;
+ fb_var->transp.length = 0;
+
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0) {
+ fprintf(stdout, "Switched to a 32 bpp 8,8,8 frame buffer\n");
+ return 1;
+ } else {
+ fprintf(stderr,
+ "Error, failed to switch to a 32 bpp 8,8,8 frame buffer\n");
+ }
+
+ /* Otherwise try a 16bpp 5,6,5 format */
+
+ fb_var->bits_per_pixel = 16;
+
+ fb_var->red.offset = 11;
+ fb_var->red.length = 5;
+
+ fb_var->green.offset = 5;
+ fb_var->green.length = 6;
+
+ fb_var->blue.offset = 0;
+ fb_var->blue.length = 5;
+
+ fb_var->transp.offset = 0;
+ fb_var->transp.length = 0;
+
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0) {
+ fprintf(stdout, "Switched to a 16 bpp 5,6,5 frame buffer\n");
+ return 1;
+ } else {
+ fprintf(stderr,
+ "Error, failed to switch to a 16 bpp 5,6,5 frame buffer\n");
+ }
+
+ return 0;
}

-PSplashFB*
-psplash_fb_new (int angle, int fbdev_id)
+PSplashFB *psplash_fb_new(int angle, int fbdev_id)
{
- struct fb_var_screeninfo fb_var;
- struct fb_fix_screeninfo fb_fix;
- int off;
- char fbdev[9] = "/dev/fb0";
-
- PSplashFB *fb = NULL;
-
- if (fbdev_id > 0 && fbdev_id < 10)
- {
- // Conversion from integer to ascii.
- fbdev[7] = fbdev_id + 48;
- }
-
- if ((fb = malloc (sizeof(PSplashFB))) == NULL)
- {
- perror ("Error no memory");
- goto fail;
- }
-
- memset (fb, 0, sizeof(PSplashFB));
-
- fb->fd = -1;
-
- if ((fb->fd = open (fbdev, O_RDWR)) < 0)
- {
- fprintf(stderr,
- "Error opening %s\n",
- fbdev);
- goto fail;
- }
-
- if (ioctl (fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1)
- {
- perror ("Error getting variable framebuffer info");
- goto fail;
- }
-
- if (fb_var.bits_per_pixel < 16)
- {
- fprintf(stderr,
- "Error, no support currently for %i bpp frame buffers\n"
- "Trying to change pixel format...\n",
- fb_var.bits_per_pixel);
- if (!attempt_to_change_pixel_format (fb, &fb_var))
- goto fail;
- }
-
- if (ioctl (fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1)
- {
- perror ("Error getting variable framebuffer info (2)");
- goto fail;
- }
-
- /* NB: It looks like the fbdev concept of fixed vs variable screen info is
- * broken. The line_length is part of the fixed info but it can be changed
- * if you set a new pixel format. */
- if (ioctl (fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1)
- {
- perror ("Error getting fixed framebuffer info");
- goto fail;
- }
-
- /* Setup double virtual resolution for double buffering */
- if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb_var) == -1) {
- fprintf(stderr, "warning: FBIOPAN_DISPLAY not supported, "
- "double buffering disabled\n");
- } else {
- if (fb_var.yres_virtual == fb_var.yres * 2) {
- DBG("Virtual resolution already double");
- fb->double_buffering = 1;
- } else {
- fb_var.yres_virtual = fb_var.yres * 2;
- if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, &fb_var) == -1) {
- fprintf(stderr, "warning: FBIOPUT_VSCREENINFO failed, "
- "double buffering disabled\n");
- } else {
- if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1) {
- perror(" Error getting the fixed framebuffer info");
- goto fail;
- } else {
- DBG("Virtual resolution set to double");
- fb->double_buffering = 1;
- }
- }
- }
- }
-
- fb->real_width = fb->width = fb_var.xres;
- fb->real_height = fb->height = fb_var.yres;
- fb->bpp = fb_var.bits_per_pixel;
- fb->stride = fb_fix.line_length;
- fb->type = fb_fix.type;
- fb->visual = fb_fix.visual;
-
- fb->red_offset = fb_var.red.offset;
- fb->red_length = fb_var.red.length;
- fb->green_offset = fb_var.green.offset;
- fb->green_length = fb_var.green.length;
- fb->blue_offset = fb_var.blue.offset;
- fb->blue_length = fb_var.blue.length;
-
- if (fb->red_offset == 11 && fb->red_length == 5 &&
- fb->green_offset == 5 && fb->green_length == 6 &&
- fb->blue_offset == 0 && fb->blue_length == 5) {
- fb->rgbmode = RGB565;
- } else if (fb->red_offset == 0 && fb->red_length == 5 &&
- fb->green_offset == 5 && fb->green_length == 6 &&
- fb->blue_offset == 11 && fb->blue_length == 5) {
- fb->rgbmode = BGR565;
- } else if (fb->red_offset == 16 && fb->red_length == 8 &&
- fb->green_offset == 8 && fb->green_length == 8 &&
- fb->blue_offset == 0 && fb->blue_length == 8) {
- fb->rgbmode = RGB888;
- } else if (fb->red_offset == 0 && fb->red_length == 8 &&
- fb->green_offset == 8 && fb->green_length == 8 &&
- fb->blue_offset == 16 && fb->blue_length == 8) {
- fb->rgbmode = BGR888;
- } else {
- fb->rgbmode = GENERIC;
- }
-
- DBG("width: %i, height: %i, bpp: %i, stride: %i",
- fb->width, fb->height, fb->bpp, fb->stride);
-
- fb->base = (char *) mmap ((caddr_t) NULL,
- fb_fix.smem_len,
- PROT_READ|PROT_WRITE,
- MAP_SHARED,
- fb->fd, 0);
-
- if (fb->base == (char *)-1)
- {
- perror("Error cannot mmap framebuffer ");
- goto fail;
- }
-
- off = (unsigned long) fb_fix.smem_start % (unsigned long) getpagesize();
-
- fb->data = fb->base + off;
-
- if (fb->double_buffering) {
- /* fb_var is needed when flipping the buffers */
- memcpy(&fb->fb_var, &fb_var, sizeof(struct fb_var_screeninfo));
- if (fb->fb_var.yoffset == 0) {
- printf("to back\n");
- fb->fdata = fb->data;
- fb->bdata = fb->data + fb->stride * fb->height;
- } else {
- printf("to front\n");
- fb->fdata = fb->data + fb->stride * fb->height;
- fb->bdata = fb->data;
- }
- } else {
- fb->fdata = fb->data;
- fb->bdata = fb->data;
- }
+ struct fb_var_screeninfo fb_var;
+ struct fb_fix_screeninfo fb_fix;
+ int off;
+ char fbdev[9] = "/dev/fb0";
+
+ PSplashFB *fb = NULL;
+
+ if (fbdev_id > 0 && fbdev_id < 10) {
+ // Conversion from integer to ascii.
+ fbdev[7] = fbdev_id + 48;
+ }
+
+ if ((fb = malloc(sizeof(PSplashFB))) == NULL) {
+ perror("Error no memory");
+ goto fail;
+ }
+
+ memset(fb, 0, sizeof(PSplashFB));
+
+ fb->fd = -1;
+
+ if ((fb->fd = open(fbdev, O_RDWR)) < 0) {
+ fprintf(stderr, "Error opening %s\n", fbdev);
+ goto fail;
+ }
+
+ if (ioctl(fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1) {
+ perror("Error getting variable framebuffer info");
+ goto fail;
+ }
+
+ if (fb_var.bits_per_pixel < 16) {
+ fprintf(stderr,
+ "Error, no support currently for %i bpp frame buffers\n"
+ "Trying to change pixel format...\n",
+ fb_var.bits_per_pixel);
+ if (!attempt_to_change_pixel_format(fb, &fb_var))
+ goto fail;
+ }
+
+ if (ioctl(fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1) {
+ perror("Error getting variable framebuffer info (2)");
+ goto fail;
+ }
+
+ /* NB: It looks like the fbdev concept of fixed vs variable screen info is
+ * broken. The line_length is part of the fixed info but it can be changed
+ * if you set a new pixel format. */
+ if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1) {
+ perror("Error getting fixed framebuffer info");
+ goto fail;
+ }
+
+ /* Setup double virtual resolution for double buffering */
+ if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb_var) == -1) {
+ fprintf(stderr, "warning: FBIOPAN_DISPLAY not supported, "
+ "double buffering disabled\n");
+ } else {
+ if (fb_var.yres_virtual == fb_var.yres * 2) {
+ DBG("Virtual resolution already double");
+ fb->double_buffering = 1;
+ } else {
+ fb_var.yres_virtual = fb_var.yres * 2;
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, &fb_var) == -1) {
+ fprintf(stderr,
+ "warning: FBIOPUT_VSCREENINFO failed, "
+ "double buffering disabled\n");
+ } else {
+ if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix)
+ == -1) {
+ perror
+ (" Error getting the fixed framebuffer info");
+ goto fail;
+ } else {
+ DBG("Virtual resolution set to double");
+ fb->double_buffering = 1;
+ }
+ }
+ }
+ }
+
+ fb->real_width = fb->width = fb_var.xres;
+ fb->real_height = fb->height = fb_var.yres;
+ fb->bpp = fb_var.bits_per_pixel;
+ fb->stride = fb_fix.line_length;
+ fb->type = fb_fix.type;
+ fb->visual = fb_fix.visual;
+
+ fb->red_offset = fb_var.red.offset;
+ fb->red_length = fb_var.red.length;
+ fb->green_offset = fb_var.green.offset;
+ fb->green_length = fb_var.green.length;
+ fb->blue_offset = fb_var.blue.offset;
+ fb->blue_length = fb_var.blue.length;
+
+ if (fb->red_offset == 11 && fb->red_length == 5 &&
+ fb->green_offset == 5 && fb->green_length == 6 &&
+ fb->blue_offset == 0 && fb->blue_length == 5) {
+ fb->rgbmode = RGB565;
+ } else if (fb->red_offset == 0 && fb->red_length == 5 &&
+ fb->green_offset == 5 && fb->green_length == 6 &&
+ fb->blue_offset == 11 && fb->blue_length == 5) {
+ fb->rgbmode = BGR565;
+ } else if (fb->red_offset == 16 && fb->red_length == 8 &&
+ fb->green_offset == 8 && fb->green_length == 8 &&
+ fb->blue_offset == 0 && fb->blue_length == 8) {
+ fb->rgbmode = RGB888;
+ } else if (fb->red_offset == 0 && fb->red_length == 8 &&
+ fb->green_offset == 8 && fb->green_length == 8 &&
+ fb->blue_offset == 16 && fb->blue_length == 8) {
+ fb->rgbmode = BGR888;
+ } else {
+ fb->rgbmode = GENERIC;
+ }
+
+ DBG("width: %i, height: %i, bpp: %i, stride: %i",
+ fb->width, fb->height, fb->bpp, fb->stride);
+
+ fb->base = (char *)mmap((caddr_t) NULL,
+ fb_fix.smem_len,
+ PROT_READ | PROT_WRITE, MAP_SHARED, fb->fd, 0);
+
+ if (fb->base == (char *)-1) {
+ perror("Error cannot mmap framebuffer ");
+ goto fail;
+ }
+
+ off = (unsigned long)fb_fix.smem_start % (unsigned long)getpagesize();
+
+ fb->data = fb->base + off;
+
+ if (fb->double_buffering) {
+ /* fb_var is needed when flipping the buffers */
+ memcpy(&fb->fb_var, &fb_var, sizeof(struct fb_var_screeninfo));
+ if (fb->fb_var.yoffset == 0) {
+ printf("to back\n");
+ fb->fdata = fb->data;
+ fb->bdata = fb->data + fb->stride * fb->height;
+ } else {
+ printf("to front\n");
+ fb->fdata = fb->data + fb->stride * fb->height;
+ fb->bdata = fb->data;
+ }
+ } else {
+ fb->fdata = fb->data;
+ fb->bdata = fb->data;
+ }

#if 0
- /* FIXME: No support for 8pp as yet */
- if (visual == FB_VISUAL_PSEUDOCOLOR
- || visual == FB_VISUAL_STATIC_PSEUDOCOLOR)
- {
- static struct fb_cmap cmap;
-
- cmap.start = 0;
- cmap.len = 16;
- cmap.red = saved_red;
- cmap.green = saved_green;
- cmap.blue = saved_blue;
- cmap.transp = NULL;
-
- ioctl (fb, FBIOGETCMAP, &cmap);
- }
-
- if (!status)
- atexit (bogl_done);
- status = 2;
-#endif
+ /* FIXME: No support for 8pp as yet */
+ if (visual == FB_VISUAL_PSEUDOCOLOR
+ || visual == FB_VISUAL_STATIC_PSEUDOCOLOR) {
+ static struct fb_cmap cmap;
+
+ cmap.start = 0;
+ cmap.len = 16;
+ cmap.red = saved_red;
+ cmap.green = saved_green;
+ cmap.blue = saved_blue;
+ cmap.transp = NULL;
+
+ ioctl(fb, FBIOGETCMAP, &cmap);
+ }

- fb->angle = angle;
+ if (!status)
+ atexit(bogl_done);
+ status = 2;
+#endif

- switch (fb->angle)
- {
- case 270:
- case 90:
- fb->width = fb->real_height;
- fb->height = fb->real_width;
- break;
- case 180:
- case 0:
- default:
- break;
- }
+ fb->angle = angle;
+
+ switch (fb->angle) {
+ case 270:
+ case 90:
+ fb->width = fb->real_height;
+ fb->height = fb->real_width;
+ break;
+ case 180:
+ case 0:
+ default:
+ break;
+ }

- return fb;
+ return fb;

- fail:
+fail:

- if (fb)
- psplash_fb_destroy (fb);
+ if (fb)
+ psplash_fb_destroy(fb);

- return NULL;
+ return NULL;
}

#define OFFSET(fb,x,y) (((y) * (fb)->stride) + ((x) * ((fb)->bpp >> 3)))

static inline void
-psplash_fb_plot_pixel (PSplashFB *fb,
- int x,
- int y,
- uint8 red,
- uint8 green,
- uint8 blue)
+psplash_fb_plot_pixel(PSplashFB * fb,
+ int x, int y, uint8 red, uint8 green, uint8 blue)
{
- /* Always write to back data (bdata) which points to the right data with or
- * without double buffering support */
- int off;
-
- if (x < 0 || x > fb->width-1 || y < 0 || y > fb->height-1)
- return;
-
- switch (fb->angle)
- {
- case 270:
- off = OFFSET (fb, fb->height - y - 1, x);
- break;
- case 180:
- off = OFFSET (fb, fb->width - x - 1, fb->height - y - 1);
- break;
- case 90:
- off = OFFSET (fb, y, fb->width - x - 1);
- break;
- case 0:
- default:
- off = OFFSET (fb, x, y);
- break;
- }
-
- if (fb->rgbmode == RGB565 || fb->rgbmode == RGB888) {
- switch (fb->bpp)
- {
- case 24:
+ /* Always write to back data (bdata) which points to the right data with or
+ * without double buffering support */
+ int off;
+
+ if (x < 0 || x > fb->width - 1 || y < 0 || y > fb->height - 1)
+ return;
+
+ switch (fb->angle) {
+ case 270:
+ off = OFFSET(fb, fb->height - y - 1, x);
+ break;
+ case 180:
+ off = OFFSET(fb, fb->width - x - 1, fb->height - y - 1);
+ break;
+ case 90:
+ off = OFFSET(fb, y, fb->width - x - 1);
+ break;
+ case 0:
+ default:
+ off = OFFSET(fb, x, y);
+ break;
+ }
+
+ if (fb->rgbmode == RGB565 || fb->rgbmode == RGB888) {
+ switch (fb->bpp) {
+ case 24:
#if __BYTE_ORDER == __BIG_ENDIAN
- *(fb->bdata + off + 0) = red;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = blue;
+ *(fb->bdata + off + 0) = red;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = blue;
#else
- *(fb->bdata + off + 0) = blue;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = red;
+ *(fb->bdata + off + 0) = blue;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = red;
#endif
- break;
- case 32:
- *(volatile uint32_t *) (fb->bdata + off)
- = (red << 16) | (green << 8) | (blue);
- break;
-
- case 16:
- *(volatile uint16_t *) (fb->bdata + off)
- = ((red >> 3) << 11) | ((green >> 2) << 5) | (blue >> 3);
- break;
- default:
- /* depth not supported yet */
- break;
- }
- } else if (fb->rgbmode == BGR565 || fb->rgbmode == BGR888) {
- switch (fb->bpp)
- {
- case 24:
+ break;
+ case 32:
+ *(volatile uint32_t *)(fb->bdata + off)
+ = (red << 16) | (green << 8) | (blue);
+ break;
+
+ case 16:
+ *(volatile uint16_t *)(fb->bdata + off)
+ = ((red >> 3) << 11) | ((green >> 2) << 5) | (blue
+ >> 3);
+ break;
+ default:
+ /* depth not supported yet */
+ break;
+ }
+ } else if (fb->rgbmode == BGR565 || fb->rgbmode == BGR888) {
+ switch (fb->bpp) {
+ case 24:
#if __BYTE_ORDER == __BIG_ENDIAN
- *(fb->bdata + off + 0) = blue;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = red;
+ *(fb->bdata + off + 0) = blue;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = red;
#else
- *(fb->bdata + off + 0) = red;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = blue;
+ *(fb->bdata + off + 0) = red;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = blue;
#endif
- break;
- case 32:
- *(volatile uint32_t *) (fb->bdata + off)
- = (blue << 16) | (green << 8) | (red);
- break;
- case 16:
- *(volatile uint16_t *) (fb->bdata + off)
- = ((blue >> 3) << 11) | ((green >> 2) << 5) | (red >> 3);
- break;
- default:
- /* depth not supported yet */
- break;
- }
- } else {
- switch (fb->bpp)
- {
- case 32:
- *(volatile uint32_t *) (fb->bdata + off)
- = ((red >> (8 - fb->red_length)) << fb->red_offset)
- | ((green >> (8 - fb->green_length)) << fb->green_offset)
- | ((blue >> (8 - fb->blue_length)) << fb->blue_offset);
- break;
- case 16:
- *(volatile uint16_t *) (fb->bdata + off)
- = ((red >> (8 - fb->red_length)) << fb->red_offset)
- | ((green >> (8 - fb->green_length)) << fb->green_offset)
- | ((blue >> (8 - fb->blue_length)) << fb->blue_offset);
- break;
- default:
- /* depth not supported yet */
- break;
- }
- }
+ break;
+ case 32:
+ *(volatile uint32_t *)(fb->bdata + off)
+ = (blue << 16) | (green << 8) | (red);
+ break;
+ case 16:
+ *(volatile uint16_t *)(fb->bdata + off)
+ = ((blue >> 3) << 11) | ((green >> 2) << 5) | (red
+ >>
+ 3);
+ break;
+ default:
+ /* depth not supported yet */
+ break;
+ }
+ } else {
+ switch (fb->bpp) {
+ case 32:
+ *(volatile uint32_t *)(fb->bdata + off)
+ = ((red >> (8 - fb->red_length)) << fb->red_offset)
+ | ((green >> (8 - fb->green_length)) << fb->
+ green_offset)
+ | ((blue >> (8 - fb->blue_length)) << fb->
+ blue_offset);
+ break;
+ case 16:
+ *(volatile uint16_t *)(fb->bdata + off)
+ = ((red >> (8 - fb->red_length)) << fb->red_offset)
+ | ((green >> (8 - fb->green_length)) << fb->
+ green_offset)
+ | ((blue >> (8 - fb->blue_length)) << fb->
+ blue_offset);
+ break;
+ default:
+ /* depth not supported yet */
+ break;
+ }
+ }
}

void
-psplash_fb_draw_rect (PSplashFB *fb,
- int x,
- int y,
- int width,
- int height,
- uint8 red,
- uint8 green,
- uint8 blue)
+psplash_fb_draw_rect(PSplashFB * fb,
+ int x,
+ int y,
+ int width, int height, uint8 red, uint8 green, uint8 blue)
{
- int dx, dy;
+ int dx, dy;

- for (dy=0; dy < height; dy++)
- for (dx=0; dx < width; dx++)
- psplash_fb_plot_pixel (fb, x+dx, y+dy, red, green, blue);
+ for (dy = 0; dy < height; dy++)
+ for (dx = 0; dx < width; dx++)
+ psplash_fb_plot_pixel(fb, x + dx, y + dy, red, green,
+ blue);
}

void
-psplash_fb_draw_image (PSplashFB *fb,
- int x,
- int y,
- int img_width,
- int img_height,
- int img_bytes_per_pixel,
- int img_rowstride,
- uint8 *rle_data)
+psplash_fb_draw_image(PSplashFB * fb,
+ int x,
+ int y,
+ int img_width,
+ int img_height,
+ int img_bytes_per_pixel,
+ int img_rowstride, uint8 * rle_data)
{
- uint8 *p = rle_data;
- int dx = 0, dy = 0, total_len;
- unsigned int len;
-
- total_len = img_rowstride * img_height;
-
- /* FIXME: Optimise, check for over runs ... */
- while ((p - rle_data) < total_len)
- {
- len = *(p++);
-
- if (len & 128)
- {
- len -= 128;
-
- if (len == 0) break;
-
- do
- {
- if ((img_bytes_per_pixel < 4 || *(p+3)) && dx < img_width)
- psplash_fb_plot_pixel (fb, x+dx, y+dy, *(p), *(p+1), *(p+2));
- if (++dx * img_bytes_per_pixel >= img_rowstride) { dx=0; dy++; }
- }
- while (--len);
-
- p += img_bytes_per_pixel;
+ uint8 *p = rle_data;
+ int dx = 0, dy = 0, total_len;
+ unsigned int len;
+
+ total_len = img_rowstride * img_height;
+
+ /* FIXME: Optimise, check for over runs ... */
+ while ((p - rle_data) < total_len) {
+ len = *(p++);
+
+ if (len & 128) {
+ len -= 128;
+
+ if (len == 0)
+ break;
+
+ do {
+ if ((img_bytes_per_pixel < 4 || *(p + 3))
+ && dx < img_width)
+ psplash_fb_plot_pixel(fb, x + dx,
+ y + dy, *(p),
+ *(p + 1),
+ *(p + 2));
+ if (++dx * img_bytes_per_pixel >= img_rowstride) {
+ dx = 0;
+ dy++;
+ }
+ }
+ while (--len);
+
+ p += img_bytes_per_pixel;
+ } else {
+ if (len == 0)
+ break;
+
+ do {
+ if ((img_bytes_per_pixel < 4 || *(p + 3))
+ && dx < img_width)
+ psplash_fb_plot_pixel(fb, x + dx,
+ y + dy, *(p),
+ *(p + 1),
+ *(p + 2));
+ if (++dx * img_bytes_per_pixel >= img_rowstride) {
+ dx = 0;
+ dy++;
+ }
+ p += img_bytes_per_pixel;
+ }
+ while (--len && (p - rle_data) < total_len);
+ }
}
- else
- {
- if (len == 0) break;
-
- do
- {
- if ((img_bytes_per_pixel < 4 || *(p+3)) && dx < img_width)
- psplash_fb_plot_pixel (fb, x+dx, y+dy, *(p), *(p+1), *(p+2));
- if (++dx * img_bytes_per_pixel >= img_rowstride) { dx=0; dy++; }
- p += img_bytes_per_pixel;
- }
- while (--len && (p - rle_data) < total_len);
- }
- }
}

/* Font rendering code based on BOGL by Ben Pfaff */

static int
-psplash_font_glyph (const PSplashFont *font, wchar_t wc, u_int32_t **bitmap)
+psplash_font_glyph(const PSplashFont * font, wchar_t wc, u_int32_t ** bitmap)
{
- int mask = font->index_mask;
- int i;
-
- for (;;)
- {
- for (i = font->offset[wc & mask]; font->index[i]; i += 2)
- {
- if ((wchar_t)(font->index[i] & ~mask) == (wc & ~mask))
- {
- if (bitmap != NULL)
- *bitmap = &font->content[font->index[i+1]];
- return font->index[i] & mask;
- }
+ int mask = font->index_mask;
+ int i;
+
+ for (;;) {
+ for (i = font->offset[wc & mask]; font->index[i]; i += 2) {
+ if ((wchar_t) (font->index[i] & ~mask) == (wc & ~mask)) {
+ if (bitmap != NULL)
+ *bitmap =
+ &font->content[font->index[i + 1]];
+ return font->index[i] & mask;
+ }
+ }
}
- }
- return 0;
+ return 0;
}

void
-psplash_fb_text_size (int *width,
- int *height,
- const PSplashFont *font,
- const char *text)
+psplash_fb_text_size(int *width,
+ int *height, const PSplashFont * font, const char *text)
{
- char *c = (char*)text;
- wchar_t wc;
- int k, n, w, h, mw;
-
- n = strlen (text);
- mw = h = w = 0;
-
- mbtowc (0, 0, 0);
- for (; (k = mbtowc (&wc, c, n)) > 0; c += k, n -= k)
- {
- if (*c == '\n')
- {
- if (w > mw)
- mw = w;
- w = 0;
- h += font->height;
- continue;
+ char *c = (char *)text;
+ wchar_t wc;
+ int k, n, w, h, mw;
+
+ n = strlen(text);
+ mw = h = w = 0;
+
+ mbtowc(0, 0, 0);
+ for (; (k = mbtowc(&wc, c, n)) > 0; c += k, n -= k) {
+ if (*c == '\n') {
+ if (w > mw)
+ mw = w;
+ w = 0;
+ h += font->height;
+ continue;
+ }
+
+ w += psplash_font_glyph(font, wc, NULL);
}

- w += psplash_font_glyph (font, wc, NULL);
- }
-
- *width = (w > mw) ? w : mw;
- *height = (h == 0) ? font->height : h;
+ *width = (w > mw) ? w : mw;
+ *height = (h == 0) ? font->height : h;
}

void
-psplash_fb_draw_text (PSplashFB *fb,
- int x,
- int y,
- uint8 red,
- uint8 green,
- uint8 blue,
- const PSplashFont *font,
- const char *text)
+psplash_fb_draw_text(PSplashFB * fb,
+ int x,
+ int y,
+ uint8 red,
+ uint8 green,
+ uint8 blue, const PSplashFont * font, const char *text)
{
- int h, w, k, n, cx, cy, dx, dy;
- char *c = (char*)text;
- wchar_t wc;
-
- n = strlen (text);
- h = font->height;
- dx = dy = 0;
-
- mbtowc (0, 0, 0);
- for (; (k = mbtowc (&wc, c, n)) > 0; c += k, n -= k)
- {
- u_int32_t *glyph = NULL;
-
- if (*c == '\n')
- {
- dy += h;
- dx = 0;
- continue;
+ int h, w, k, n, cx, cy, dx, dy;
+ char *c = (char *)text;
+ wchar_t wc;
+
+ n = strlen(text);
+ h = font->height;
+ dx = dy = 0;
+
+ mbtowc(0, 0, 0);
+ for (; (k = mbtowc(&wc, c, n)) > 0; c += k, n -= k) {
+ u_int32_t *glyph = NULL;
+
+ if (*c == '\n') {
+ dy += h;
+ dx = 0;
+ continue;
+ }
+
+ w = psplash_font_glyph(font, wc, &glyph);
+
+ if (glyph == NULL)
+ continue;
+
+ for (cy = 0; cy < h; cy++) {
+ u_int32_t g = *glyph++;
+
+ for (cx = 0; cx < w; cx++) {
+ if (g & 0x80000000)
+ psplash_fb_plot_pixel(fb, x + dx + cx,
+ y + dy + cy, red,
+ green, blue);
+ g <<= 1;
+ }
+ }
+
+ dx += w;
}
-
- w = psplash_font_glyph (font, wc, &glyph);
-
- if (glyph == NULL)
- continue;
-
- for (cy = 0; cy < h; cy++)
- {
- u_int32_t g = *glyph++;
-
- for (cx = 0; cx < w; cx++)
- {
- if (g & 0x80000000)
- psplash_fb_plot_pixel (fb, x+dx+cx, y+dy+cy,
- red, green, blue);
- g <<= 1;
- }
- }
-
- dx += w;
- }
}
-
diff --git a/psplash-fb.h b/psplash-fb.h
index 16e2b20..a52306b 100644
--- a/psplash-fb.h
+++ b/psplash-fb.h
@@ -11,87 +11,73 @@
#define _HAVE_PSPLASH_FB_H

enum RGBMode {
- RGB565,
- BGR565,
- RGB888,
- BGR888,
- GENERIC,
+ RGB565,
+ BGR565,
+ RGB888,
+ BGR888,
+ GENERIC,
};

-typedef struct PSplashFB
-{
- int fd;
- struct fb_var_screeninfo fb_var;
- struct termios save_termios;
- int type;
- int visual;
- int width, height;
- int bpp;
- int stride;
- char *data;
- char *base;
+typedef struct PSplashFB {
+ int fd;
+ struct fb_var_screeninfo fb_var;
+ struct termios save_termios;
+ int type;
+ int visual;
+ int width, height;
+ int bpp;
+ int stride;
+ char *data;
+ char *base;

- /* Support for double buffering */
- int double_buffering;
- char *bdata;
- char *fdata;
+ /* Support for double buffering */
+ int double_buffering;
+ char *bdata;
+ char *fdata;

- int angle, fbdev_id;
- int real_width, real_height;
+ int angle, fbdev_id;
+ int real_width, real_height;

- enum RGBMode rgbmode;
- int red_offset;
- int red_length;
- int green_offset;
- int green_length;
- int blue_offset;
- int blue_length;
-}
-PSplashFB;
+ enum RGBMode rgbmode;
+ int red_offset;
+ int red_length;
+ int green_offset;
+ int green_length;
+ int blue_offset;
+ int blue_length;
+} PSplashFB;

-void
-psplash_fb_destroy (PSplashFB *fb);
+void psplash_fb_destroy(PSplashFB * fb);

-PSplashFB*
-psplash_fb_new (int angle, int fbdev_id);
+PSplashFB *psplash_fb_new(int angle, int fbdev_id);

void
-psplash_fb_draw_rect (PSplashFB *fb,
- int x,
- int y,
- int width,
- int height,
- uint8 red,
- uint8 green,
- uint8 blue);
+psplash_fb_draw_rect(PSplashFB * fb,
+ int x,
+ int y,
+ int width, int height, uint8 red, uint8 green, uint8 blue);

void
-psplash_fb_draw_image (PSplashFB *fb,
- int x,
- int y,
- int img_width,
- int img_height,
- int img_bytes_pre_pixel,
- int img_rowstride,
- uint8 *rle_data);
+psplash_fb_draw_image(PSplashFB * fb,
+ int x,
+ int y,
+ int img_width,
+ int img_height,
+ int img_bytes_pre_pixel,
+ int img_rowstride, uint8 * rle_data);

void
-psplash_fb_text_size (int *width,
- int *height,
- const PSplashFont *font,
- const char *text);
+psplash_fb_text_size(int *width,
+ int *height, const PSplashFont * font, const char *text);

void
-psplash_fb_draw_text (PSplashFB *fb,
- int x,
- int y,
- uint8 red,
- uint8 green,
- uint8 blue,
- const PSplashFont *font,
- const char *text);
+psplash_fb_draw_text(PSplashFB * fb,
+ int x,
+ int y,
+ uint8 red,
+ uint8 green,
+ uint8 blue, const PSplashFont * font, const char *text);

-void
-psplash_fb_flip(PSplashFB *fb, int sync);
+void psplash_fb_flip(PSplashFB * fb, int sync);

#endif
diff --git a/psplash-systemd.c b/psplash-systemd.c
index 840bd4e..87e0f4a 100644
--- a/psplash-systemd.c
+++ b/psplash-systemd.c
@@ -33,7 +33,7 @@ int get_progress(void)
char buffer[20];
int len;

- /* Connect to the system bus */
+ /* Connect to the system bus */
r = sd_bus_new(&bus);
if (r < 0)
goto finish;
@@ -44,19 +44,20 @@ int get_progress(void)

r = sd_bus_start(bus);
if (r < 0) {
- fprintf(stderr, "Failed to connect to systemd private bus: %s\n", strerror(-r));
+ fprintf(stderr,
+ "Failed to connect to systemd private bus: %s\n",
+ strerror(-r));
goto finish;
- }
-
- /* Issue the method call and store the respons message in m */
- r = sd_bus_get_property_trivial(bus,
- "org.freedesktop.systemd1", /* service to contact */
- "/org/freedesktop/systemd1", /* object path */
- "org.freedesktop.systemd1.Manager", /* interface name */
- "Progress", /* method name */
- &error, /* object to return error in */
- 'd', /* return message on success */
- &progress); /* value */
+ }
+
+ /* Issue the method call and store the respons message in m */
+ r = sd_bus_get_property_trivial(bus, "org.freedesktop.systemd1", /* service to contact */
+ "/org/freedesktop/systemd1", /* object path */
+ "org.freedesktop.systemd1.Manager", /* interface name */
+ "Progress", /* method name */
+ &error, /* object to return error in */
+ 'd', /* return message on success */
+ &progress); /* value */
if (r < 0) {
fprintf(stderr, "Failed to get progress: %s\n", error.message);
goto finish;
@@ -70,7 +71,8 @@ int get_progress(void)
if (current_progress < progress)
current_progress = progress;

- len = snprintf(buffer, 20, "PROGRESS %d", (int)(current_progress * 100));
+ len =
+ snprintf(buffer, 20, "PROGRESS %d", (int)(current_progress * 100));
write(pipe_fd, buffer, len + 1);

if (progress == 1.0) {
@@ -86,9 +88,7 @@ finish:
return r;
}

-int psplash_handler(sd_event_source *s,
- uint64_t usec,
- void *userdata)
+int psplash_handler(sd_event_source * s, uint64_t usec, void *userdata)
{
sd_event *event = userdata;
int r;
@@ -125,7 +125,7 @@ int main()

chdir(rundir);

- if ((pipe_fd = open (PSPLASH_FIFO,O_WRONLY|O_NONBLOCK)) == -1) {
+ if ((pipe_fd = open(PSPLASH_FIFO, O_WRONLY | O_NONBLOCK)) == -1) {
fprintf(stderr, "Error unable to open fifo");
exit(EXIT_FAILURE);
}
@@ -135,8 +135,7 @@ int main()
goto finish;

if (sigemptyset(&ss) < 0 ||
- sigaddset(&ss, SIGTERM) < 0 ||
- sigaddset(&ss, SIGINT) < 0) {
+ sigaddset(&ss, SIGTERM) < 0 || sigaddset(&ss, SIGINT) < 0) {
r = -errno;
goto finish;
}
diff --git a/psplash-write.c b/psplash-write.c
index a12467a..45aa9fc 100644
--- a/psplash-write.c
+++ b/psplash-write.c
@@ -19,34 +19,31 @@
#include <errno.h>
#include "psplash.h"

-int main(int argc, char **argv)
+int main(int argc, char **argv)
{
- char *rundir;
- int pipe_fd;
-
- rundir = getenv("PSPLASH_FIFO_DIR");
-
- if (!rundir)
- rundir = "/run";
-
- if (argc!=2)
- {
- fprintf(stderr, "Wrong number of arguments\n");
- exit(-1);
- }
-
- chdir(rundir);
-
- if ((pipe_fd = open (PSPLASH_FIFO,O_WRONLY|O_NONBLOCK)) == -1)
- {
- /* Silently error out instead of covering the boot process in
- errors when psplash has exitted due to a VC switch */
- /* perror("Error unable to open fifo"); */
- exit (-1);
- }
-
- write(pipe_fd, argv[1], strlen(argv[1])+1);
-
- return 0;
-}
+ char *rundir;
+ int pipe_fd;
+
+ rundir = getenv("PSPLASH_FIFO_DIR");
+
+ if (!rundir)
+ rundir = "/run";
+
+ if (argc != 2) {
+ fprintf(stderr, "Wrong number of arguments\n");
+ exit(-1);
+ }

+ chdir(rundir);
+
+ if ((pipe_fd = open(PSPLASH_FIFO, O_WRONLY | O_NONBLOCK)) == -1) {
+ /* Silently error out instead of covering the boot process in
+ errors when psplash has exitted due to a VC switch */
+ /* perror("Error unable to open fifo"); */
+ exit(-1);
+ }
+
+ write(pipe_fd, argv[1], strlen(argv[1]) + 1);
+
+ return 0;
+}
diff --git a/psplash.c b/psplash.c
index ee1af6b..986670b 100644
--- a/psplash.c
+++ b/psplash.c
@@ -27,329 +27,302 @@
* (fb)->height / PSPLASH_IMG_SPLIT_DENOMINATOR) \
)

-void
-psplash_exit (int UNUSED(signum))
+void psplash_exit(int UNUSED(signum))
{
- DBG("mark");
+ DBG("mark");

- psplash_console_reset ();
+ psplash_console_reset();
}

-void
-psplash_draw_msg (PSplashFB *fb, const char *msg)
+void psplash_draw_msg(PSplashFB * fb, const char *msg)
{
- int w, h;
+ int w, h;

- psplash_fb_text_size (&w, &h, &FONT_DEF, msg);
+ psplash_fb_text_size(&w, &h, &FONT_DEF, msg);

- DBG("displaying '%s' %ix%i\n", msg, w, h);
+ DBG("displaying '%s' %ix%i\n", msg, w, h);

- /* Clear */
+ /* Clear */

- psplash_fb_draw_rect (fb,
- 0,
- SPLIT_LINE_POS(fb) - h,
- fb->width,
- h,
- PSPLASH_BACKGROUND_COLOR);
+ psplash_fb_draw_rect(fb,
+ 0,
+ SPLIT_LINE_POS(fb) - h,
+ fb->width, h, PSPLASH_BACKGROUND_COLOR);

- psplash_fb_draw_text (fb,
- (fb->width-w)/2,
- SPLIT_LINE_POS(fb) - h,
- PSPLASH_TEXT_COLOR,
- &FONT_DEF,
- msg);
+ psplash_fb_draw_text(fb,
+ (fb->width - w) / 2,
+ SPLIT_LINE_POS(fb) - h,
+ PSPLASH_TEXT_COLOR, &FONT_DEF, msg);
}

#ifdef PSPLASH_SHOW_PROGRESS_BAR
-void
-psplash_draw_progress (PSplashFB *fb, int value)
+void psplash_draw_progress(PSplashFB * fb, int value)
{
- int x, y, width, height, barwidth;
-
- /* 4 pix border */
- x = ((fb->width - BAR_IMG_WIDTH)/2) + 4 ;
- y = SPLIT_LINE_POS(fb) + 4;
- width = BAR_IMG_WIDTH - 8;
- height = BAR_IMG_HEIGHT - 8;
-
- if (value > 0)
- {
- barwidth = (CLAMP(value,0,100) * width) / 100;
- psplash_fb_draw_rect (fb, x + barwidth, y,
- width - barwidth, height,
- PSPLASH_BAR_BACKGROUND_COLOR);
- psplash_fb_draw_rect (fb, x, y, barwidth,
- height, PSPLASH_BAR_COLOR);
- }
- else
- {
- barwidth = (CLAMP(-value,0,100) * width) / 100;
- psplash_fb_draw_rect (fb, x, y,
- width - barwidth, height,
- PSPLASH_BAR_BACKGROUND_COLOR);
- psplash_fb_draw_rect (fb, x + width - barwidth,
- y, barwidth, height,
- PSPLASH_BAR_COLOR);
- }
-
- DBG("value: %i, width: %i, barwidth :%i\n", value,
- width, barwidth);
+ int x, y, width, height, barwidth;
+
+ /* 4 pix border */
+ x = ((fb->width - BAR_IMG_WIDTH) / 2) + 4;
+ y = SPLIT_LINE_POS(fb) + 4;
+ width = BAR_IMG_WIDTH - 8;
+ height = BAR_IMG_HEIGHT - 8;
+
+ if (value > 0) {
+ barwidth = (CLAMP(value, 0, 100) * width) / 100;
+ psplash_fb_draw_rect(fb, x + barwidth, y,
+ width - barwidth, height,
+ PSPLASH_BAR_BACKGROUND_COLOR);
+ psplash_fb_draw_rect(fb, x, y, barwidth,
+ height, PSPLASH_BAR_COLOR);
+ } else {
+ barwidth = (CLAMP(-value, 0, 100) * width) / 100;
+ psplash_fb_draw_rect(fb, x, y,
+ width - barwidth, height,
+ PSPLASH_BAR_BACKGROUND_COLOR);
+ psplash_fb_draw_rect(fb, x + width - barwidth,
+ y, barwidth, height, PSPLASH_BAR_COLOR);
+ }
+
+ DBG("value: %i, width: %i, barwidth :%i\n", value, width, barwidth);
}
#endif /* PSPLASH_SHOW_PROGRESS_BAR */

-static int
-parse_command (PSplashFB *fb, char *string)
+static int parse_command(PSplashFB * fb, char *string)
{
- char *command;
-
- DBG("got cmd %s", string);
-
- if (strcmp(string,"QUIT") == 0)
- return 1;
-
- command = strtok(string," ");
-
- if (!strcmp(command,"MSG"))
- {
- char *arg = strtok(NULL, "\0");
-
- if (arg)
- psplash_draw_msg (fb, arg);
- }
- #ifdef PSPLASH_SHOW_PROGRESS_BAR
- else if (!strcmp(command,"PROGRESS"))
- {
- char *arg = strtok(NULL, "\0");
-
- if (arg)
- psplash_draw_progress (fb, atoi(arg));
- }
+ char *command;
+
+ DBG("got cmd %s", string);
+
+ if (strcmp(string, "QUIT") == 0)
+ return 1;
+
+ command = strtok(string, " ");
+
+ if (!strcmp(command, "MSG")) {
+ char *arg = strtok(NULL, "\0");
+
+ if (arg)
+ psplash_draw_msg(fb, arg);
+ }
+#ifdef PSPLASH_SHOW_PROGRESS_BAR
+ else if (!strcmp(command, "PROGRESS")) {
+ char *arg = strtok(NULL, "\0");
+
+ if (arg)
+ psplash_draw_progress(fb, atoi(arg));
+ }
#endif
- else if (!strcmp(command,"QUIT"))
- {
- return 1;
- }
+ else if (!strcmp(command, "QUIT")) {
+ return 1;
+ }

- psplash_fb_flip(fb, 0);
- return 0;
+ psplash_fb_flip(fb, 0);
+ return 0;
}

-void
-psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
+void psplash_main(PSplashFB * fb, int pipe_fd, int timeout)
{
- int err;
- ssize_t length = 0;
- fd_set descriptors;
- struct timeval tv;
- char *end;
- char *cmd;
- char command[2048];
-
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&descriptors);
- FD_SET(pipe_fd, &descriptors);
-
- end = command;
-
- while (1)
- {
- if (timeout != 0)
- err = select(pipe_fd+1, &descriptors, NULL, NULL, &tv);
- else
- err = select(pipe_fd+1, &descriptors, NULL, NULL, NULL);
-
- if (err <= 0)
- {
- /*
- if (errno == EINTR)
- continue;
- */
- return;
- }
-
- length += read (pipe_fd, end, sizeof(command) - (end - command));
-
- if (length == 0)
- {
- /* Reopen to see if there's anything more for us */
- close(pipe_fd);
- pipe_fd = open(PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
- goto out;
+ int err;
+ ssize_t length = 0;
+ fd_set descriptors;
+ struct timeval tv;
+ char *end;
+ char *cmd;
+ char command[2048];
+
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&descriptors);
+ FD_SET(pipe_fd, &descriptors);
+
+ end = command;
+
+ while (1) {
+ if (timeout != 0)
+ err =
+ select(pipe_fd + 1, &descriptors, NULL, NULL, &tv);
+ else
+ err =
+ select(pipe_fd + 1, &descriptors, NULL, NULL, NULL);
+
+ if (err <= 0) {
+ /*
+ if (errno == EINTR)
+ continue;
+ */
+ return;
+ }
+
+ length += read(pipe_fd, end, sizeof(command) - (end - command));
+
+ if (length == 0) {
+ /* Reopen to see if there's anything more for us */
+ close(pipe_fd);
+ pipe_fd = open(PSPLASH_FIFO, O_RDONLY | O_NONBLOCK);
+ goto out;
+ }
+
+ cmd = command;
+ do {
+ int cmdlen;
+ char *cmdend = memchr(cmd, '\n', length);
+
+ /* Replace newlines with string termination */
+ if (cmdend)
+ *cmdend = '\0';
+
+ cmdlen = strnlen(cmd, length);
+
+ /* Skip string terminations */
+ if (!cmdlen && length) {
+ length--;
+ cmd++;
+ continue;
+ }
+
+ if (parse_command(fb, cmd))
+ return;
+
+ length -= cmdlen;
+ cmd += cmdlen;
+ } while (length);
+
+out:
+ end = &command[length];
+
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&descriptors);
+ FD_SET(pipe_fd, &descriptors);
}

- cmd = command;
- do {
- int cmdlen;
- char *cmdend = memchr(cmd, '\n', length);
-
- /* Replace newlines with string termination */
- if (cmdend)
- *cmdend = '\0';
-
- cmdlen = strnlen(cmd, length);
-
- /* Skip string terminations */
- if (!cmdlen && length)
- {
- length--;
- cmd++;
- continue;
- }
-
- if (parse_command(fb, cmd))
- return;
-
- length -= cmdlen;
- cmd += cmdlen;
- } while (length);
-
- out:
- end = &command[length];
-
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&descriptors);
- FD_SET(pipe_fd,&descriptors);
- }
-
- return;
+ return;
}

-int
-main (int argc, char** argv)
+int main(int argc, char **argv)
{
- char *rundir;
- int pipe_fd, i = 0, angle = 0, fbdev_id = 0, ret = 0;
- PSplashFB *fb;
- bool disable_console_switch = FALSE;
-
- signal(SIGHUP, psplash_exit);
- signal(SIGINT, psplash_exit);
- signal(SIGQUIT, psplash_exit);
-
- while (++i < argc) {
- if (!strcmp(argv[i],"-n") || !strcmp(argv[i],"--no-console-switch"))
- {
- disable_console_switch = TRUE;
- continue;
- }
-
- if (!strcmp(argv[i],"-a") || !strcmp(argv[i],"--angle"))
- {
- if (++i >= argc) goto fail;
- angle = atoi(argv[i]);
- continue;
- }
-
- if (!strcmp(argv[i],"-f") || !strcmp(argv[i],"--fbdev"))
- {
- if (++i >= argc) goto fail;
- fbdev_id = atoi(argv[i]);
- continue;
- }
-
- fail:
- fprintf(stderr,
- "Usage: %s [-n|--no-console-switch][-a|--angle <0|90|180|270>][-f|--fbdev <0..9>]\n",
- argv[0]);
- exit(-1);
- }
-
- rundir = getenv("PSPLASH_FIFO_DIR");
-
- if (!rundir)
- rundir = "/run";
-
- chdir(rundir);
-
- if (mkfifo(PSPLASH_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP))
- {
- if (errno!=EEXIST)
- {
- perror("mkfifo");
- exit(-1);
- }
- }
-
- pipe_fd = open (PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
-
- if (pipe_fd==-1)
- {
- perror("pipe open");
- exit(-2);
- }
-
- if (!disable_console_switch)
- psplash_console_switch ();
-
- if ((fb = psplash_fb_new(angle,fbdev_id)) == NULL)
- {
- ret = -1;
- goto fb_fail;
- }
+ char *rundir;
+ int pipe_fd, i = 0, angle = 0, fbdev_id = 0, ret = 0;
+ PSplashFB *fb;
+ bool disable_console_switch = FALSE;
+
+ signal(SIGHUP, psplash_exit);
+ signal(SIGINT, psplash_exit);
+ signal(SIGQUIT, psplash_exit);
+
+ while (++i < argc) {
+ if (!strcmp(argv[i], "-n")
+ || !strcmp(argv[i], "--no-console-switch")) {
+ disable_console_switch = TRUE;
+ continue;
+ }
+
+ if (!strcmp(argv[i], "-a") || !strcmp(argv[i], "--angle")) {
+ if (++i >= argc)
+ goto fail;
+ angle = atoi(argv[i]);
+ continue;
+ }
+
+ if (!strcmp(argv[i], "-f") || !strcmp(argv[i], "--fbdev")) {
+ if (++i >= argc)
+ goto fail;
+ fbdev_id = atoi(argv[i]);
+ continue;
+ }
+
+fail:
+ fprintf(stderr,
+ "Usage: %s [-n|--no-console-switch][-a|--angle <0|90|180|270>][-f|--fbdev <0..9>]\n",
+ argv[0]);
+ exit(-1);
+ }
+
+ rundir = getenv("PSPLASH_FIFO_DIR");
+
+ if (!rundir)
+ rundir = "/run";
+
+ chdir(rundir);
+
+ if (mkfifo(PSPLASH_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) {
+ if (errno != EEXIST) {
+ perror("mkfifo");
+ exit(-1);
+ }
+ }
+
+ pipe_fd = open(PSPLASH_FIFO, O_RDONLY | O_NONBLOCK);
+
+ if (pipe_fd == -1) {
+ perror("pipe open");
+ exit(-2);
+ }
+
+ if (!disable_console_switch)
+ psplash_console_switch();

+ if ((fb = psplash_fb_new(angle, fbdev_id)) == NULL) {
+ ret = -1;
+ goto fb_fail;
+ }
#ifdef HAVE_SYSTEMD
- sd_notify(0, "READY=1");
+ sd_notify(0, "READY=1");
#endif

- /* Clear the background with #ecece1 */
- psplash_fb_draw_rect (fb, 0, 0, fb->width, fb->height,
- PSPLASH_BACKGROUND_COLOR);
+ /* Clear the background with #ecece1 */
+ psplash_fb_draw_rect(fb, 0, 0, fb->width, fb->height,
+ PSPLASH_BACKGROUND_COLOR);

- /* Draw the Poky logo */
- psplash_fb_draw_image (fb,
- (fb->width - POKY_IMG_WIDTH)/2,
+ /* Draw the Poky logo */
+ psplash_fb_draw_image(fb, (fb->width - POKY_IMG_WIDTH) / 2,
#if PSPLASH_IMG_FULLSCREEN
- (fb->height - POKY_IMG_HEIGHT)/2,
+ (fb->height - POKY_IMG_HEIGHT) / 2,
#else
- (fb->height * PSPLASH_IMG_SPLIT_NUMERATOR
- / PSPLASH_IMG_SPLIT_DENOMINATOR - POKY_IMG_HEIGHT)/2,
+ (fb->height * PSPLASH_IMG_SPLIT_NUMERATOR
+ / PSPLASH_IMG_SPLIT_DENOMINATOR -
+ POKY_IMG_HEIGHT) / 2,
#endif
- POKY_IMG_WIDTH,
- POKY_IMG_HEIGHT,
- POKY_IMG_BYTES_PER_PIXEL,
- POKY_IMG_ROWSTRIDE,
- POKY_IMG_RLE_PIXEL_DATA);
+ POKY_IMG_WIDTH,
+ POKY_IMG_HEIGHT,
+ POKY_IMG_BYTES_PER_PIXEL,
+ POKY_IMG_ROWSTRIDE, POKY_IMG_RLE_PIXEL_DATA);

#ifdef PSPLASH_SHOW_PROGRESS_BAR
- /* Draw progress bar border */
- psplash_fb_draw_image (fb,
- (fb->width - BAR_IMG_WIDTH)/2,
- SPLIT_LINE_POS(fb),
- BAR_IMG_WIDTH,
- BAR_IMG_HEIGHT,
- BAR_IMG_BYTES_PER_PIXEL,
- BAR_IMG_ROWSTRIDE,
- BAR_IMG_RLE_PIXEL_DATA);
-
- psplash_draw_progress (fb, 0);
+ /* Draw progress bar border */
+ psplash_fb_draw_image(fb,
+ (fb->width - BAR_IMG_WIDTH) / 2,
+ SPLIT_LINE_POS(fb),
+ BAR_IMG_WIDTH,
+ BAR_IMG_HEIGHT,
+ BAR_IMG_BYTES_PER_PIXEL,
+ BAR_IMG_ROWSTRIDE, BAR_IMG_RLE_PIXEL_DATA);
+
+ psplash_draw_progress(fb, 0);
#endif

#ifdef PSPLASH_STARTUP_MSG
- psplash_draw_msg (fb, PSPLASH_STARTUP_MSG);
+ psplash_draw_msg(fb, PSPLASH_STARTUP_MSG);
#endif

- /* Scene set so let's flip the buffers. */
- /* The first time we also synchronize the buffers so we can build on an
- * existing scene. After the first scene is set in both buffers, only the
- * text and progress bar change which overwrite the specific areas with every
- * update.
- */
- psplash_fb_flip(fb, 1);
+ /* Scene set so let's flip the buffers. */
+ /* The first time we also synchronize the buffers so we can build on an
+ * existing scene. After the first scene is set in both buffers, only the
+ * text and progress bar change which overwrite the specific areas with every
+ * update.
+ */
+ psplash_fb_flip(fb, 1);

- psplash_main (fb, pipe_fd, 0);
+ psplash_main(fb, pipe_fd, 0);

- psplash_fb_destroy (fb);
+ psplash_fb_destroy(fb);

- fb_fail:
- unlink(PSPLASH_FIFO);
+fb_fail:
+ unlink(PSPLASH_FIFO);

- if (!disable_console_switch)
- psplash_console_reset ();
+ if (!disable_console_switch)
+ psplash_console_reset();

- return ret;
+ return ret;
}
diff --git a/psplash.h b/psplash.h
index 1c42ec7..8d0e57f 100644
--- a/psplash.h
+++ b/psplash.h
@@ -35,9 +35,9 @@
#include <termios.h>
#include <unistd.h>

-typedef uint8_t uint8;
+typedef uint8_t uint8;
typedef uint16_t uint16;
-typedef int bool;
+typedef int bool;

#ifndef FALSE
#define FALSE 0
@@ -62,22 +62,19 @@ typedef int bool;
#endif

#ifdef __GNUC__
-# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
+#define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
#else
-# define UNUSED(x) UNUSED_ ## x
+#define UNUSED(x) UNUSED_ ## x
#endif

-typedef struct PSplashFont
-{
- char *name; /* Font name. */
- int height; /* Height in pixels. */
- int index_mask; /* ((1 << N) - 1). */
- int *offset; /* (1 << N) offsets into index. */
- int *index;
- u_int32_t *content;
-}
-PSplashFont;
-
+typedef struct PSplashFont {
+ char *name; /* Font name. */
+ int height; /* Height in pixels. */
+ int index_mask; /* ((1 << N) - 1). */
+ int *offset; /* (1 << N) offsets into index. */
+ int *index;
+ u_int32_t *content;
+} PSplashFont;

#include "psplash-fb.h"
#include "psplash-console.h"
diff --git a/radeon-font.h b/radeon-font.h
index ca70cba..54f8e1b 100644
--- a/radeon-font.h
+++ b/radeon-font.h
@@ -6,646 +6,646 @@

/* Offsets into index. */
static int _radon_offset[256] = {
- 569, /* (0x0) */
- 569, /* (0x1) */
- 569, /* (0x2) */
- 569, /* (0x3) */
- 569, /* (0x4) */
- 569, /* (0x5) */
- 569, /* (0x6) */
- 569, /* (0x7) */
- 569, /* (0x8) */
- 569, /* (0x9) */
- 569, /* (0xa) */
- 569, /* (0xb) */
- 569, /* (0xc) */
- 569, /* (0xd) */
- 569, /* (0xe) */
- 569, /* (0xf) */
- 569, /* (0x10) */
- 569, /* (0x11) */
- 569, /* (0x12) */
- 569, /* (0x13) */
- 569, /* (0x14) */
- 569, /* (0x15) */
- 569, /* (0x16) */
- 569, /* (0x17) */
- 569, /* (0x18) */
- 569, /* (0x19) */
- 569, /* (0x1a) */
- 569, /* (0x1b) */
- 569, /* (0x1c) */
- 569, /* (0x1d) */
- 569, /* (0x1e) */
- 569, /* (0x1f) */
- 0, /* (0x20) */
- 3, /* (0x21) */
- 6, /* (0x22) */
- 9, /* (0x23) */
- 12, /* (0x24) */
- 15, /* (0x25) */
- 18, /* (0x26) */
- 21, /* (0x27) */
- 24, /* (0x28) */
- 27, /* (0x29) */
- 30, /* (0x2a) */
- 33, /* (0x2b) */
- 36, /* (0x2c) */
- 39, /* (0x2d) */
- 42, /* (0x2e) */
- 45, /* (0x2f) */
- 48, /* (0x30) */
- 51, /* (0x31) */
- 54, /* (0x32) */
- 57, /* (0x33) */
- 60, /* (0x34) */
- 63, /* (0x35) */
- 66, /* (0x36) */
- 69, /* (0x37) */
- 72, /* (0x38) */
- 75, /* (0x39) */
- 78, /* (0x3a) */
- 81, /* (0x3b) */
- 84, /* (0x3c) */
- 87, /* (0x3d) */
- 90, /* (0x3e) */
- 93, /* (0x3f) */
- 96, /* (0x40) */
- 99, /* (0x41) */
- 102, /* (0x42) */
- 105, /* (0x43) */
- 108, /* (0x44) */
- 111, /* (0x45) */
- 114, /* (0x46) */
- 117, /* (0x47) */
- 120, /* (0x48) */
- 123, /* (0x49) */
- 126, /* (0x4a) */
- 129, /* (0x4b) */
- 132, /* (0x4c) */
- 135, /* (0x4d) */
- 138, /* (0x4e) */
- 141, /* (0x4f) */
- 144, /* (0x50) */
- 147, /* (0x51) */
- 150, /* (0x52) */
- 153, /* (0x53) */
- 156, /* (0x54) */
- 159, /* (0x55) */
- 162, /* (0x56) */
- 165, /* (0x57) */
- 168, /* (0x58) */
- 171, /* (0x59) */
- 174, /* (0x5a) */
- 177, /* (0x5b) */
- 180, /* (0x5c) */
- 183, /* (0x5d) */
- 186, /* (0x5e) */
- 189, /* (0x5f) */
- 192, /* (0x60) */
- 195, /* (0x61) */
- 198, /* (0x62) */
- 201, /* (0x63) */
- 204, /* (0x64) */
- 207, /* (0x65) */
- 210, /* (0x66) */
- 213, /* (0x67) */
- 216, /* (0x68) */
- 219, /* (0x69) */
- 222, /* (0x6a) */
- 225, /* (0x6b) */
- 228, /* (0x6c) */
- 231, /* (0x6d) */
- 234, /* (0x6e) */
- 237, /* (0x6f) */
- 240, /* (0x70) */
- 243, /* (0x71) */
- 246, /* (0x72) */
- 249, /* (0x73) */
- 252, /* (0x74) */
- 255, /* (0x75) */
- 258, /* (0x76) */
- 261, /* (0x77) */
- 264, /* (0x78) */
- 267, /* (0x79) */
- 270, /* (0x7a) */
- 273, /* (0x7b) */
- 276, /* (0x7c) */
- 279, /* (0x7d) */
- 282, /* (0x7e) */
- 569, /* (0x7f) */
- 569, /* (0x80) */
- 569, /* (0x81) */
- 569, /* (0x82) */
- 569, /* (0x83) */
- 569, /* (0x84) */
- 569, /* (0x85) */
- 569, /* (0x86) */
- 569, /* (0x87) */
- 569, /* (0x88) */
- 569, /* (0x89) */
- 569, /* (0x8a) */
- 569, /* (0x8b) */
- 569, /* (0x8c) */
- 569, /* (0x8d) */
- 569, /* (0x8e) */
- 569, /* (0x8f) */
- 569, /* (0x90) */
- 569, /* (0x91) */
- 569, /* (0x92) */
- 569, /* (0x93) */
- 569, /* (0x94) */
- 569, /* (0x95) */
- 569, /* (0x96) */
- 569, /* (0x97) */
- 569, /* (0x98) */
- 569, /* (0x99) */
- 569, /* (0x9a) */
- 569, /* (0x9b) */
- 569, /* (0x9c) */
- 569, /* (0x9d) */
- 569, /* (0x9e) */
- 569, /* (0x9f) */
- 285, /* (0xa0) */
- 288, /* (0xa1) */
- 291, /* (0xa2) */
- 294, /* (0xa3) */
- 297, /* (0xa4) */
- 300, /* (0xa5) */
- 303, /* (0xa6) */
- 306, /* (0xa7) */
- 309, /* (0xa8) */
- 312, /* (0xa9) */
- 315, /* (0xaa) */
- 318, /* (0xab) */
- 321, /* (0xac) */
- 324, /* (0xad) */
- 327, /* (0xae) */
- 330, /* (0xaf) */
- 333, /* (0xb0) */
- 336, /* (0xb1) */
- 339, /* (0xb2) */
- 342, /* (0xb3) */
- 345, /* (0xb4) */
- 348, /* (0xb5) */
- 351, /* (0xb6) */
- 354, /* (0xb7) */
- 357, /* (0xb8) */
- 360, /* (0xb9) */
- 363, /* (0xba) */
- 366, /* (0xbb) */
- 369, /* (0xbc) */
- 372, /* (0xbd) */
- 375, /* (0xbe) */
- 378, /* (0xbf) */
- 381, /* (0xc0) */
- 384, /* (0xc1) */
- 387, /* (0xc2) */
- 390, /* (0xc3) */
- 393, /* (0xc4) */
- 396, /* (0xc5) */
- 399, /* (0xc6) */
- 402, /* (0xc7) */
- 405, /* (0xc8) */
- 408, /* (0xc9) */
- 411, /* (0xca) */
- 414, /* (0xcb) */
- 417, /* (0xcc) */
- 420, /* (0xcd) */
- 423, /* (0xce) */
- 426, /* (0xcf) */
- 429, /* (0xd0) */
- 432, /* (0xd1) */
- 435, /* (0xd2) */
- 438, /* (0xd3) */
- 441, /* (0xd4) */
- 444, /* (0xd5) */
- 447, /* (0xd6) */
- 450, /* (0xd7) */
- 453, /* (0xd8) */
- 456, /* (0xd9) */
- 459, /* (0xda) */
- 462, /* (0xdb) */
- 465, /* (0xdc) */
- 468, /* (0xdd) */
- 471, /* (0xde) */
- 474, /* (0xdf) */
- 477, /* (0xe0) */
- 480, /* (0xe1) */
- 483, /* (0xe2) */
- 486, /* (0xe3) */
- 489, /* (0xe4) */
- 492, /* (0xe5) */
- 495, /* (0xe6) */
- 498, /* (0xe7) */
- 501, /* (0xe8) */
- 504, /* (0xe9) */
- 507, /* (0xea) */
- 510, /* (0xeb) */
- 513, /* (0xec) */
- 516, /* (0xed) */
- 519, /* (0xee) */
- 522, /* (0xef) */
- 525, /* (0xf0) */
- 528, /* (0xf1) */
- 531, /* (0xf2) */
- 534, /* (0xf3) */
- 537, /* (0xf4) */
- 540, /* (0xf5) */
- 543, /* (0xf6) */
- 546, /* (0xf7) */
- 549, /* (0xf8) */
- 552, /* (0xf9) */
- 555, /* (0xfa) */
- 558, /* (0xfb) */
- 561, /* (0xfc) */
- 564, /* (0xfd) */
- 567, /* (0xfe) */
- 569, /* (0xff) */
+ 569, /* (0x0) */
+ 569, /* (0x1) */
+ 569, /* (0x2) */
+ 569, /* (0x3) */
+ 569, /* (0x4) */
+ 569, /* (0x5) */
+ 569, /* (0x6) */
+ 569, /* (0x7) */
+ 569, /* (0x8) */
+ 569, /* (0x9) */
+ 569, /* (0xa) */
+ 569, /* (0xb) */
+ 569, /* (0xc) */
+ 569, /* (0xd) */
+ 569, /* (0xe) */
+ 569, /* (0xf) */
+ 569, /* (0x10) */
+ 569, /* (0x11) */
+ 569, /* (0x12) */
+ 569, /* (0x13) */
+ 569, /* (0x14) */
+ 569, /* (0x15) */
+ 569, /* (0x16) */
+ 569, /* (0x17) */
+ 569, /* (0x18) */
+ 569, /* (0x19) */
+ 569, /* (0x1a) */
+ 569, /* (0x1b) */
+ 569, /* (0x1c) */
+ 569, /* (0x1d) */
+ 569, /* (0x1e) */
+ 569, /* (0x1f) */
+ 0, /* (0x20) */
+ 3, /* (0x21) */
+ 6, /* (0x22) */
+ 9, /* (0x23) */
+ 12, /* (0x24) */
+ 15, /* (0x25) */
+ 18, /* (0x26) */
+ 21, /* (0x27) */
+ 24, /* (0x28) */
+ 27, /* (0x29) */
+ 30, /* (0x2a) */
+ 33, /* (0x2b) */
+ 36, /* (0x2c) */
+ 39, /* (0x2d) */
+ 42, /* (0x2e) */
+ 45, /* (0x2f) */
+ 48, /* (0x30) */
+ 51, /* (0x31) */
+ 54, /* (0x32) */
+ 57, /* (0x33) */
+ 60, /* (0x34) */
+ 63, /* (0x35) */
+ 66, /* (0x36) */
+ 69, /* (0x37) */
+ 72, /* (0x38) */
+ 75, /* (0x39) */
+ 78, /* (0x3a) */
+ 81, /* (0x3b) */
+ 84, /* (0x3c) */
+ 87, /* (0x3d) */
+ 90, /* (0x3e) */
+ 93, /* (0x3f) */
+ 96, /* (0x40) */
+ 99, /* (0x41) */
+ 102, /* (0x42) */
+ 105, /* (0x43) */
+ 108, /* (0x44) */
+ 111, /* (0x45) */
+ 114, /* (0x46) */
+ 117, /* (0x47) */
+ 120, /* (0x48) */
+ 123, /* (0x49) */
+ 126, /* (0x4a) */
+ 129, /* (0x4b) */
+ 132, /* (0x4c) */
+ 135, /* (0x4d) */
+ 138, /* (0x4e) */
+ 141, /* (0x4f) */
+ 144, /* (0x50) */
+ 147, /* (0x51) */
+ 150, /* (0x52) */
+ 153, /* (0x53) */
+ 156, /* (0x54) */
+ 159, /* (0x55) */
+ 162, /* (0x56) */
+ 165, /* (0x57) */
+ 168, /* (0x58) */
+ 171, /* (0x59) */
+ 174, /* (0x5a) */
+ 177, /* (0x5b) */
+ 180, /* (0x5c) */
+ 183, /* (0x5d) */
+ 186, /* (0x5e) */
+ 189, /* (0x5f) */
+ 192, /* (0x60) */
+ 195, /* (0x61) */
+ 198, /* (0x62) */
+ 201, /* (0x63) */
+ 204, /* (0x64) */
+ 207, /* (0x65) */
+ 210, /* (0x66) */
+ 213, /* (0x67) */
+ 216, /* (0x68) */
+ 219, /* (0x69) */
+ 222, /* (0x6a) */
+ 225, /* (0x6b) */
+ 228, /* (0x6c) */
+ 231, /* (0x6d) */
+ 234, /* (0x6e) */
+ 237, /* (0x6f) */
+ 240, /* (0x70) */
+ 243, /* (0x71) */
+ 246, /* (0x72) */
+ 249, /* (0x73) */
+ 252, /* (0x74) */
+ 255, /* (0x75) */
+ 258, /* (0x76) */
+ 261, /* (0x77) */
+ 264, /* (0x78) */
+ 267, /* (0x79) */
+ 270, /* (0x7a) */
+ 273, /* (0x7b) */
+ 276, /* (0x7c) */
+ 279, /* (0x7d) */
+ 282, /* (0x7e) */
+ 569, /* (0x7f) */
+ 569, /* (0x80) */
+ 569, /* (0x81) */
+ 569, /* (0x82) */
+ 569, /* (0x83) */
+ 569, /* (0x84) */
+ 569, /* (0x85) */
+ 569, /* (0x86) */
+ 569, /* (0x87) */
+ 569, /* (0x88) */
+ 569, /* (0x89) */
+ 569, /* (0x8a) */
+ 569, /* (0x8b) */
+ 569, /* (0x8c) */
+ 569, /* (0x8d) */
+ 569, /* (0x8e) */
+ 569, /* (0x8f) */
+ 569, /* (0x90) */
+ 569, /* (0x91) */
+ 569, /* (0x92) */
+ 569, /* (0x93) */
+ 569, /* (0x94) */
+ 569, /* (0x95) */
+ 569, /* (0x96) */
+ 569, /* (0x97) */
+ 569, /* (0x98) */
+ 569, /* (0x99) */
+ 569, /* (0x9a) */
+ 569, /* (0x9b) */
+ 569, /* (0x9c) */
+ 569, /* (0x9d) */
+ 569, /* (0x9e) */
+ 569, /* (0x9f) */
+ 285, /* (0xa0) */
+ 288, /* (0xa1) */
+ 291, /* (0xa2) */
+ 294, /* (0xa3) */
+ 297, /* (0xa4) */
+ 300, /* (0xa5) */
+ 303, /* (0xa6) */
+ 306, /* (0xa7) */
+ 309, /* (0xa8) */
+ 312, /* (0xa9) */
+ 315, /* (0xaa) */
+ 318, /* (0xab) */
+ 321, /* (0xac) */
+ 324, /* (0xad) */
+ 327, /* (0xae) */
+ 330, /* (0xaf) */
+ 333, /* (0xb0) */
+ 336, /* (0xb1) */
+ 339, /* (0xb2) */
+ 342, /* (0xb3) */
+ 345, /* (0xb4) */
+ 348, /* (0xb5) */
+ 351, /* (0xb6) */
+ 354, /* (0xb7) */
+ 357, /* (0xb8) */
+ 360, /* (0xb9) */
+ 363, /* (0xba) */
+ 366, /* (0xbb) */
+ 369, /* (0xbc) */
+ 372, /* (0xbd) */
+ 375, /* (0xbe) */
+ 378, /* (0xbf) */
+ 381, /* (0xc0) */
+ 384, /* (0xc1) */
+ 387, /* (0xc2) */
+ 390, /* (0xc3) */
+ 393, /* (0xc4) */
+ 396, /* (0xc5) */
+ 399, /* (0xc6) */
+ 402, /* (0xc7) */
+ 405, /* (0xc8) */
+ 408, /* (0xc9) */
+ 411, /* (0xca) */
+ 414, /* (0xcb) */
+ 417, /* (0xcc) */
+ 420, /* (0xcd) */
+ 423, /* (0xce) */
+ 426, /* (0xcf) */
+ 429, /* (0xd0) */
+ 432, /* (0xd1) */
+ 435, /* (0xd2) */
+ 438, /* (0xd3) */
+ 441, /* (0xd4) */
+ 444, /* (0xd5) */
+ 447, /* (0xd6) */
+ 450, /* (0xd7) */
+ 453, /* (0xd8) */
+ 456, /* (0xd9) */
+ 459, /* (0xda) */
+ 462, /* (0xdb) */
+ 465, /* (0xdc) */
+ 468, /* (0xdd) */
+ 471, /* (0xde) */
+ 474, /* (0xdf) */
+ 477, /* (0xe0) */
+ 480, /* (0xe1) */
+ 483, /* (0xe2) */
+ 486, /* (0xe3) */
+ 489, /* (0xe4) */
+ 492, /* (0xe5) */
+ 495, /* (0xe6) */
+ 498, /* (0xe7) */
+ 501, /* (0xe8) */
+ 504, /* (0xe9) */
+ 507, /* (0xea) */
+ 510, /* (0xeb) */
+ 513, /* (0xec) */
+ 516, /* (0xed) */
+ 519, /* (0xee) */
+ 522, /* (0xef) */
+ 525, /* (0xf0) */
+ 528, /* (0xf1) */
+ 531, /* (0xf2) */
+ 534, /* (0xf3) */
+ 537, /* (0xf4) */
+ 540, /* (0xf5) */
+ 543, /* (0xf6) */
+ 546, /* (0xf7) */
+ 549, /* (0xf8) */
+ 552, /* (0xf9) */
+ 555, /* (0xfa) */
+ 558, /* (0xfb) */
+ 561, /* (0xfc) */
+ 564, /* (0xfd) */
+ 567, /* (0xfe) */
+ 569, /* (0xff) */
};

/* Index into content data. */
static int _radon_index[570] = {
- 0x8, 0,
- 0,
- 0x8, 12,
- 0,
- 0x8, 24,
- 0,
- 0x8, 36,
- 0,
- 0x8, 48,
- 0,
- 0x8, 60,
- 0,
- 0x8, 72,
- 0,
- 0x8, 84,
- 0,
- 0x8, 96,
- 0,
- 0x8, 108,
- 0,
- 0x8, 120,
- 0,
- 0x8, 132,
- 0,
- 0x8, 144,
- 0,
- 0x8, 156,
- 0,
- 0x8, 168,
- 0,
- 0x8, 180,
- 0,
- 0x8, 192,
- 0,
- 0x8, 204,
- 0,
- 0x8, 216,
- 0,
- 0x8, 228,
- 0,
- 0x8, 240,
- 0,
- 0x8, 252,
- 0,
- 0x8, 264,
- 0,
- 0x8, 276,
- 0,
- 0x8, 288,
- 0,
- 0x8, 300,
- 0,
- 0x8, 312,
- 0,
- 0x8, 324,
- 0,
- 0x8, 336,
- 0,
- 0x8, 348,
- 0,
- 0x8, 360,
- 0,
- 0x8, 372,
- 0,
- 0x8, 384,
- 0,
- 0x8, 396,
- 0,
- 0x8, 408,
- 0,
- 0x8, 420,
- 0,
- 0x8, 432,
- 0,
- 0x8, 444,
- 0,
- 0x8, 456,
- 0,
- 0x8, 468,
- 0,
- 0x8, 480,
- 0,
- 0x8, 492,
- 0,
- 0x8, 504,
- 0,
- 0x8, 516,
- 0,
- 0x8, 528,
- 0,
- 0x8, 540,
- 0,
- 0x8, 552,
- 0,
- 0x8, 564,
- 0,
- 0x8, 576,
- 0,
- 0x8, 588,
- 0,
- 0x8, 600,
- 0,
- 0x8, 612,
- 0,
- 0x8, 624,
- 0,
- 0x8, 636,
- 0,
- 0x8, 648,
- 0,
- 0x8, 660,
- 0,
- 0x8, 672,
- 0,
- 0x8, 684,
- 0,
- 0x8, 696,
- 0,
- 0x8, 708,
- 0,
- 0x8, 720,
- 0,
- 0x8, 732,
- 0,
- 0x8, 744,
- 0,
- 0x8, 756,
- 0,
- 0x8, 768,
- 0,
- 0x8, 780,
- 0,
- 0x8, 792,
- 0,
- 0x8, 804,
- 0,
- 0x8, 816,
- 0,
- 0x8, 828,
- 0,
- 0x8, 840,
- 0,
- 0x8, 852,
- 0,
- 0x8, 864,
- 0,
- 0x8, 876,
- 0,
- 0x8, 888,
- 0,
- 0x8, 900,
- 0,
- 0x8, 912,
- 0,
- 0x8, 924,
- 0,
- 0x8, 936,
- 0,
- 0x8, 948,
- 0,
- 0x8, 960,
- 0,
- 0x8, 972,
- 0,
- 0x8, 984,
- 0,
- 0x8, 996,
- 0,
- 0x8, 1008,
- 0,
- 0x8, 1020,
- 0,
- 0x8, 1032,
- 0,
- 0x8, 1044,
- 0,
- 0x8, 1056,
- 0,
- 0x8, 1068,
- 0,
- 0x8, 1080,
- 0,
- 0x8, 1092,
- 0,
- 0x8, 1104,
- 0,
- 0x8, 1116,
- 0,
- 0x8, 1128,
- 0,
- 0x8, 1140,
- 0,
- 0x8, 1152,
- 0,
- 0x8, 1164,
- 0,
- 0x8, 1176,
- 0,
- 0x8, 1188,
- 0,
- 0x8, 1200,
- 0,
- 0x8, 1212,
- 0,
- 0x8, 1224,
- 0,
- 0x8, 1236,
- 0,
- 0x8, 1248,
- 0,
- 0x8, 1260,
- 0,
- 0x8, 1272,
- 0,
- 0x8, 1284,
- 0,
- 0x8, 1296,
- 0,
- 0x8, 1308,
- 0,
- 0x8, 1320,
- 0,
- 0x8, 1332,
- 0,
- 0x8, 1344,
- 0,
- 0x8, 1356,
- 0,
- 0x8, 1368,
- 0,
- 0x8, 1380,
- 0,
- 0x8, 1392,
- 0,
- 0x8, 1404,
- 0,
- 0x8, 1416,
- 0,
- 0x8, 1428,
- 0,
- 0x8, 1440,
- 0,
- 0x8, 1452,
- 0,
- 0x8, 1464,
- 0,
- 0x8, 1476,
- 0,
- 0x8, 1488,
- 0,
- 0x8, 1500,
- 0,
- 0x8, 1512,
- 0,
- 0x8, 1524,
- 0,
- 0x8, 1536,
- 0,
- 0x8, 1548,
- 0,
- 0x8, 1560,
- 0,
- 0x8, 1572,
- 0,
- 0x8, 1584,
- 0,
- 0x8, 1596,
- 0,
- 0x8, 1608,
- 0,
- 0x8, 1620,
- 0,
- 0x8, 1632,
- 0,
- 0x8, 1644,
- 0,
- 0x8, 1656,
- 0,
- 0x8, 1668,
- 0,
- 0x8, 1680,
- 0,
- 0x8, 1692,
- 0,
- 0x8, 1704,
- 0,
- 0x8, 1716,
- 0,
- 0x8, 1728,
- 0,
- 0x8, 1740,
- 0,
- 0x8, 1752,
- 0,
- 0x8, 1764,
- 0,
- 0x8, 1776,
- 0,
- 0x8, 1788,
- 0,
- 0x8, 1800,
- 0,
- 0x8, 1812,
- 0,
- 0x8, 1824,
- 0,
- 0x8, 1836,
- 0,
- 0x8, 1848,
- 0,
- 0x8, 1860,
- 0,
- 0x8, 1872,
- 0,
- 0x8, 1884,
- 0,
- 0x8, 1896,
- 0,
- 0x8, 1908,
- 0,
- 0x8, 1920,
- 0,
- 0x8, 1932,
- 0,
- 0x8, 1944,
- 0,
- 0x8, 1956,
- 0,
- 0x8, 1968,
- 0,
- 0x8, 1980,
- 0,
- 0x8, 1992,
- 0,
- 0x8, 2004,
- 0,
- 0x8, 2016,
- 0,
- 0x8, 2028,
- 0,
- 0x8, 2040,
- 0,
- 0x8, 2052,
- 0,
- 0x8, 2064,
- 0,
- 0x8, 2076,
- 0,
- 0x8, 2088,
- 0,
- 0x8, 2100,
- 0,
- 0x8, 2112,
- 0,
- 0x8, 2124,
- 0,
- 0x8, 2136,
- 0,
- 0x8, 2148,
- 0,
- 0x8, 2160,
- 0,
- 0x8, 2172,
- 0,
- 0x8, 2184,
- 0,
- 0x8, 2196,
- 0,
- 0x8, 2208,
- 0,
- 0x8, 2220,
- 0,
- 0x8, 2232,
- 0,
- 0x8, 2244,
- 0,
- 0x8, 2256,
- 0,
- 0x8, 2268,
- 0,
+ 0x8, 0,
+ 0,
+ 0x8, 12,
+ 0,
+ 0x8, 24,
+ 0,
+ 0x8, 36,
+ 0,
+ 0x8, 48,
+ 0,
+ 0x8, 60,
+ 0,
+ 0x8, 72,
+ 0,
+ 0x8, 84,
+ 0,
+ 0x8, 96,
+ 0,
+ 0x8, 108,
+ 0,
+ 0x8, 120,
+ 0,
+ 0x8, 132,
+ 0,
+ 0x8, 144,
+ 0,
+ 0x8, 156,
+ 0,
+ 0x8, 168,
+ 0,
+ 0x8, 180,
+ 0,
+ 0x8, 192,
+ 0,
+ 0x8, 204,
+ 0,
+ 0x8, 216,
+ 0,
+ 0x8, 228,
+ 0,
+ 0x8, 240,
+ 0,
+ 0x8, 252,
+ 0,
+ 0x8, 264,
+ 0,
+ 0x8, 276,
+ 0,
+ 0x8, 288,
+ 0,
+ 0x8, 300,
+ 0,
+ 0x8, 312,
+ 0,
+ 0x8, 324,
+ 0,
+ 0x8, 336,
+ 0,
+ 0x8, 348,
+ 0,
+ 0x8, 360,
+ 0,
+ 0x8, 372,
+ 0,
+ 0x8, 384,
+ 0,
+ 0x8, 396,
+ 0,
+ 0x8, 408,
+ 0,
+ 0x8, 420,
+ 0,
+ 0x8, 432,
+ 0,
+ 0x8, 444,
+ 0,
+ 0x8, 456,
+ 0,
+ 0x8, 468,
+ 0,
+ 0x8, 480,
+ 0,
+ 0x8, 492,
+ 0,
+ 0x8, 504,
+ 0,
+ 0x8, 516,
+ 0,
+ 0x8, 528,
+ 0,
+ 0x8, 540,
+ 0,
+ 0x8, 552,
+ 0,
+ 0x8, 564,
+ 0,
+ 0x8, 576,
+ 0,
+ 0x8, 588,
+ 0,
+ 0x8, 600,
+ 0,
+ 0x8, 612,
+ 0,
+ 0x8, 624,
+ 0,
+ 0x8, 636,
+ 0,
+ 0x8, 648,
+ 0,
+ 0x8, 660,
+ 0,
+ 0x8, 672,
+ 0,
+ 0x8, 684,
+ 0,
+ 0x8, 696,
+ 0,
+ 0x8, 708,
+ 0,
+ 0x8, 720,
+ 0,
+ 0x8, 732,
+ 0,
+ 0x8, 744,
+ 0,
+ 0x8, 756,
+ 0,
+ 0x8, 768,
+ 0,
+ 0x8, 780,
+ 0,
+ 0x8, 792,
+ 0,
+ 0x8, 804,
+ 0,
+ 0x8, 816,
+ 0,
+ 0x8, 828,
+ 0,
+ 0x8, 840,
+ 0,
+ 0x8, 852,
+ 0,
+ 0x8, 864,
+ 0,
+ 0x8, 876,
+ 0,
+ 0x8, 888,
+ 0,
+ 0x8, 900,
+ 0,
+ 0x8, 912,
+ 0,
+ 0x8, 924,
+ 0,
+ 0x8, 936,
+ 0,
+ 0x8, 948,
+ 0,
+ 0x8, 960,
+ 0,
+ 0x8, 972,
+ 0,
+ 0x8, 984,
+ 0,
+ 0x8, 996,
+ 0,
+ 0x8, 1008,
+ 0,
+ 0x8, 1020,
+ 0,
+ 0x8, 1032,
+ 0,
+ 0x8, 1044,
+ 0,
+ 0x8, 1056,
+ 0,
+ 0x8, 1068,
+ 0,
+ 0x8, 1080,
+ 0,
+ 0x8, 1092,
+ 0,
+ 0x8, 1104,
+ 0,
+ 0x8, 1116,
+ 0,
+ 0x8, 1128,
+ 0,
+ 0x8, 1140,
+ 0,
+ 0x8, 1152,
+ 0,
+ 0x8, 1164,
+ 0,
+ 0x8, 1176,
+ 0,
+ 0x8, 1188,
+ 0,
+ 0x8, 1200,
+ 0,
+ 0x8, 1212,
+ 0,
+ 0x8, 1224,
+ 0,
+ 0x8, 1236,
+ 0,
+ 0x8, 1248,
+ 0,
+ 0x8, 1260,
+ 0,
+ 0x8, 1272,
+ 0,
+ 0x8, 1284,
+ 0,
+ 0x8, 1296,
+ 0,
+ 0x8, 1308,
+ 0,
+ 0x8, 1320,
+ 0,
+ 0x8, 1332,
+ 0,
+ 0x8, 1344,
+ 0,
+ 0x8, 1356,
+ 0,
+ 0x8, 1368,
+ 0,
+ 0x8, 1380,
+ 0,
+ 0x8, 1392,
+ 0,
+ 0x8, 1404,
+ 0,
+ 0x8, 1416,
+ 0,
+ 0x8, 1428,
+ 0,
+ 0x8, 1440,
+ 0,
+ 0x8, 1452,
+ 0,
+ 0x8, 1464,
+ 0,
+ 0x8, 1476,
+ 0,
+ 0x8, 1488,
+ 0,
+ 0x8, 1500,
+ 0,
+ 0x8, 1512,
+ 0,
+ 0x8, 1524,
+ 0,
+ 0x8, 1536,
+ 0,
+ 0x8, 1548,
+ 0,
+ 0x8, 1560,
+ 0,
+ 0x8, 1572,
+ 0,
+ 0x8, 1584,
+ 0,
+ 0x8, 1596,
+ 0,
+ 0x8, 1608,
+ 0,
+ 0x8, 1620,
+ 0,
+ 0x8, 1632,
+ 0,
+ 0x8, 1644,
+ 0,
+ 0x8, 1656,
+ 0,
+ 0x8, 1668,
+ 0,
+ 0x8, 1680,
+ 0,
+ 0x8, 1692,
+ 0,
+ 0x8, 1704,
+ 0,
+ 0x8, 1716,
+ 0,
+ 0x8, 1728,
+ 0,
+ 0x8, 1740,
+ 0,
+ 0x8, 1752,
+ 0,
+ 0x8, 1764,
+ 0,
+ 0x8, 1776,
+ 0,
+ 0x8, 1788,
+ 0,
+ 0x8, 1800,
+ 0,
+ 0x8, 1812,
+ 0,
+ 0x8, 1824,
+ 0,
+ 0x8, 1836,
+ 0,
+ 0x8, 1848,
+ 0,
+ 0x8, 1860,
+ 0,
+ 0x8, 1872,
+ 0,
+ 0x8, 1884,
+ 0,
+ 0x8, 1896,
+ 0,
+ 0x8, 1908,
+ 0,
+ 0x8, 1920,
+ 0,
+ 0x8, 1932,
+ 0,
+ 0x8, 1944,
+ 0,
+ 0x8, 1956,
+ 0,
+ 0x8, 1968,
+ 0,
+ 0x8, 1980,
+ 0,
+ 0x8, 1992,
+ 0,
+ 0x8, 2004,
+ 0,
+ 0x8, 2016,
+ 0,
+ 0x8, 2028,
+ 0,
+ 0x8, 2040,
+ 0,
+ 0x8, 2052,
+ 0,
+ 0x8, 2064,
+ 0,
+ 0x8, 2076,
+ 0,
+ 0x8, 2088,
+ 0,
+ 0x8, 2100,
+ 0,
+ 0x8, 2112,
+ 0,
+ 0x8, 2124,
+ 0,
+ 0x8, 2136,
+ 0,
+ 0x8, 2148,
+ 0,
+ 0x8, 2160,
+ 0,
+ 0x8, 2172,
+ 0,
+ 0x8, 2184,
+ 0,
+ 0x8, 2196,
+ 0,
+ 0x8, 2208,
+ 0,
+ 0x8, 2220,
+ 0,
+ 0x8, 2232,
+ 0,
+ 0x8, 2244,
+ 0,
+ 0x8, 2256,
+ 0,
+ 0x8, 2268,
+ 0,
};

/* Font character content data. */
@@ -666,18 +666,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 12: character ! (0x21), width 8 */
/* +--------+
@@ -694,18 +694,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 24: character " (0x22), width 8 */
/* +--------+
@@ -722,18 +722,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x28000000,
-0x28000000,
-0x28000000,
-0x28000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x28000000,
+ 0x28000000,
+ 0x28000000,
+ 0x28000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 36: character # (0x23), width 8 */
/* +--------+
@@ -750,18 +750,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x44000000,
-0x44000000,
-0xba000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0xba000000,
-0x44000000,
-0x44000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x44000000,
+ 0x44000000,
+ 0xba000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0xba000000,
+ 0x44000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,

/* 48: character $ (0x24), width 8 */
/* +--------+
@@ -778,18 +778,18 @@ static u_int32_t _radon_content[] = {
| * |
| |
+--------+ */
-0x10000000,
-0x7e000000,
-0x80000000,
-0x90000000,
-0x80000000,
-0x7c000000,
-0x02000000,
-0x12000000,
-0x02000000,
-0xfc000000,
-0x10000000,
-0x00000000,
+ 0x10000000,
+ 0x7e000000,
+ 0x80000000,
+ 0x90000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x12000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x10000000,
+ 0x00000000,

/* 60: character % (0x25), width 8 */
/* +--------+
@@ -806,18 +806,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x62000000,
-0x92000000,
-0x94000000,
-0x68000000,
-0x10000000,
-0x2c000000,
-0x52000000,
-0x92000000,
-0x8c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x62000000,
+ 0x92000000,
+ 0x94000000,
+ 0x68000000,
+ 0x10000000,
+ 0x2c000000,
+ 0x52000000,
+ 0x92000000,
+ 0x8c000000,
+ 0x00000000,
+ 0x00000000,

/* 72: character & (0x26), width 8 */
/* +--------+
@@ -834,18 +834,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x60000000,
-0x90000000,
-0x90000000,
-0x40000000,
-0x20000000,
-0x90000000,
-0x8a000000,
-0x84000000,
-0x7a000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x60000000,
+ 0x90000000,
+ 0x90000000,
+ 0x40000000,
+ 0x20000000,
+ 0x90000000,
+ 0x8a000000,
+ 0x84000000,
+ 0x7a000000,
+ 0x00000000,
+ 0x00000000,

/* 84: character ' (0x27), width 8 */
/* +--------+
@@ -862,18 +862,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x60000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x60000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 96: character ( (0x28), width 8 */
/* +--------+
@@ -890,18 +890,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 108: character ) (0x29), width 8 */
/* +--------+
@@ -918,18 +918,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 120: character * (0x2a), width 8 */
/* +--------+
@@ -946,18 +946,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x92000000,
-0x54000000,
-0x10000000,
-0x10000000,
-0x54000000,
-0x92000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x92000000,
+ 0x54000000,
+ 0x10000000,
+ 0x10000000,
+ 0x54000000,
+ 0x92000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 132: character + (0x2b), width 8 */
/* +--------+
@@ -974,18 +974,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0xd6000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0xd6000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 144: character , (0x2c), width 8 */
/* +--------+
@@ -1002,18 +1002,18 @@ static u_int32_t _radon_content[] = {
| ** |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x30000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,

/* 156: character - (0x2d), width 8 */
/* +--------+
@@ -1030,18 +1030,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 168: character . (0x2e), width 8 */
/* +--------+
@@ -1058,18 +1058,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 180: character / (0x2f), width 8 */
/* +--------+
@@ -1086,18 +1086,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x04000000,
-0x08000000,
-0x10000000,
-0x20000000,
-0x40000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x04000000,
+ 0x08000000,
+ 0x10000000,
+ 0x20000000,
+ 0x40000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 192: character 0 (0x30), width 8 */
/* +--------+
@@ -1114,18 +1114,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 204: character 1 (0x31), width 8 */
/* +--------+
@@ -1142,18 +1142,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x28000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x28000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 216: character 2 (0x32), width 8 */
/* +--------+
@@ -1170,18 +1170,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,

/* 228: character 3 (0x33), width 8 */
/* +--------+
@@ -1198,18 +1198,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x3c000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 240: character 4 (0x34), width 8 */
/* +--------+
@@ -1226,18 +1226,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7a000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7a000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,

/* 252: character 5 (0x35), width 8 */
/* +--------+
@@ -1254,18 +1254,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfe000000,
-0x00000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 264: character 6 (0x36), width 8 */
/* +--------+
@@ -1282,18 +1282,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 276: character 7 (0x37), width 8 */
/* +--------+
@@ -1310,18 +1310,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,

/* 288: character 8 (0x38), width 8 */
/* +--------+
@@ -1338,18 +1338,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 300: character 9 (0x39), width 8 */
/* +--------+
@@ -1366,18 +1366,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7a000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7a000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 312: character : (0x3a), width 8 */
/* +--------+
@@ -1394,18 +1394,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 324: character ; (0x3b), width 8 */
/* +--------+
@@ -1422,18 +1422,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x60000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x60000000,
+ 0x00000000,
+ 0x00000000,

/* 336: character < (0x3c), width 8 */
/* +--------+
@@ -1450,18 +1450,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x08000000,
-0x10000000,
-0x20000000,
-0x40000000,
-0x20000000,
-0x10000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x10000000,
+ 0x20000000,
+ 0x40000000,
+ 0x20000000,
+ 0x10000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 348: character = (0x3d), width 8 */
/* +--------+
@@ -1478,18 +1478,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 360: character > (0x3e), width 8 */
/* +--------+
@@ -1506,18 +1506,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x08000000,
-0x04000000,
-0x02000000,
-0x04000000,
-0x08000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x08000000,
+ 0x04000000,
+ 0x02000000,
+ 0x04000000,
+ 0x08000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 372: character ? (0x3f), width 8 */
/* +--------+
@@ -1534,18 +1534,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x00000000,
-0x20000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x00000000,
+ 0x20000000,
+ 0x00000000,
+ 0x00000000,

/* 384: character @ (0x40), width 8 */
/* +--------+
@@ -1562,18 +1562,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x8a000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x8c000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x8a000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x8c000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 396: character A (0x41), width 8 */
/* +--------+
@@ -1590,18 +1590,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 408: character B (0x42), width 8 */
/* +--------+
@@ -1618,18 +1618,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 420: character C (0x43), width 8 */
/* +--------+
@@ -1646,18 +1646,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 432: character D (0x44), width 8 */
/* +--------+
@@ -1674,18 +1674,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 444: character E (0x45), width 8 */
/* +--------+
@@ -1702,18 +1702,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 456: character F (0x46), width 8 */
/* +--------+
@@ -1730,18 +1730,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 468: character G (0x47), width 8 */
/* +--------+
@@ -1758,18 +1758,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x9a000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x9a000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 480: character H (0x48), width 8 */
/* +--------+
@@ -1786,18 +1786,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 492: character I (0x49), width 8 */
/* +--------+
@@ -1814,18 +1814,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 504: character J (0x4a), width 8 */
/* +--------+
@@ -1842,18 +1842,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x84000000,
-0x78000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x84000000,
+ 0x78000000,
+ 0x00000000,
+ 0x00000000,

/* 516: character K (0x4b), width 8 */
/* +--------+
@@ -1870,18 +1870,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 528: character L (0x4c), width 8 */
/* +--------+
@@ -1898,18 +1898,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7e000000,
+ 0x00000000,
+ 0x00000000,

/* 540: character M (0x4d), width 8 */
/* +--------+
@@ -1926,18 +1926,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 552: character N (0x4e), width 8 */
/* +--------+
@@ -1954,18 +1954,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 564: character O (0x4f), width 8 */
/* +--------+
@@ -1982,18 +1982,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 576: character P (0x50), width 8 */
/* +--------+
@@ -2010,18 +2010,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 588: character Q (0x51), width 8 */
/* +--------+
@@ -2038,18 +2038,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x8a000000,
-0x8a000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x8a000000,
+ 0x8a000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 600: character R (0x52), width 8 */
/* +--------+
@@ -2066,18 +2066,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 612: character S (0x53), width 8 */
/* +--------+
@@ -2094,18 +2094,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7e000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7e000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 624: character T (0x54), width 8 */
/* +--------+
@@ -2122,18 +2122,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfe000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 636: character U (0x55), width 8 */
/* +--------+
@@ -2150,18 +2150,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 648: character V (0x56), width 8 */
/* +--------+
@@ -2178,18 +2178,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x84000000,
-0x88000000,
-0x90000000,
-0xa0000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x84000000,
+ 0x88000000,
+ 0x90000000,
+ 0xa0000000,
+ 0x00000000,
+ 0x00000000,

/* 660: character W (0x57), width 8 */
/* +--------+
@@ -2206,18 +2206,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 672: character X (0x58), width 8 */
/* +--------+
@@ -2234,18 +2234,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 684: character Y (0x59), width 8 */
/* +--------+
@@ -2262,18 +2262,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 696: character Z (0x5a), width 8 */
/* +--------+
@@ -2290,18 +2290,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x04000000,
-0x08000000,
-0x10000000,
-0x20000000,
-0x40000000,
-0x80000000,
-0x7e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x04000000,
+ 0x08000000,
+ 0x10000000,
+ 0x20000000,
+ 0x40000000,
+ 0x80000000,
+ 0x7e000000,
+ 0x00000000,
+ 0x00000000,

/* 708: character [ (0x5b), width 8 */
/* +--------+
@@ -2318,18 +2318,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x1c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x1c000000,
+ 0x00000000,
+ 0x00000000,

/* 720: character \ (0x5c), width 8 */
/* +--------+
@@ -2346,18 +2346,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x40000000,
-0x20000000,
-0x10000000,
-0x08000000,
-0x04000000,
-0x02000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x40000000,
+ 0x20000000,
+ 0x10000000,
+ 0x08000000,
+ 0x04000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,

/* 732: character ] (0x5d), width 8 */
/* +--------+
@@ -2374,18 +2374,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x38000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,

/* 744: character ^ (0x5e), width 8 */
/* +--------+
@@ -2402,18 +2402,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x44000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 756: character _ (0x5f), width 8 */
/* +--------+
@@ -2430,18 +2430,18 @@ static u_int32_t _radon_content[] = {
|********|
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xff000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xff000000,
+ 0x00000000,

/* 768: character ` (0x60), width 8 */
/* +--------+
@@ -2458,18 +2458,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x06000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x06000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 780: character a (0x61), width 8 */
/* +--------+
@@ -2486,18 +2486,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 792: character b (0x62), width 8 */
/* +--------+
@@ -2514,18 +2514,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x40000000,
-0x40000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40000000,
+ 0x40000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 804: character c (0x63), width 8 */
/* +--------+
@@ -2542,18 +2542,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 816: character d (0x64), width 8 */
/* +--------+
@@ -2570,18 +2570,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x02000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x02000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 828: character e (0x65), width 8 */
/* +--------+
@@ -2598,18 +2598,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 840: character f (0x66), width 8 */
/* +--------+
@@ -2626,18 +2626,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x0c000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x54000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x0c000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x54000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 852: character g (0x67), width 8 */
/* +--------+
@@ -2654,18 +2654,18 @@ static u_int32_t _radon_content[] = {
| * |
| **** |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x3c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x3c000000,

/* 864: character h (0x68), width 8 */
/* +--------+
@@ -2682,18 +2682,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x40000000,
-0x40000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40000000,
+ 0x40000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 876: character i (0x69), width 8 */
/* +--------+
@@ -2710,18 +2710,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 888: character j (0x6a), width 8 */
/* +--------+
@@ -2738,18 +2738,18 @@ static u_int32_t _radon_content[] = {
| * |
| ** |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x30000000,

/* 900: character k (0x6b), width 8 */
/* +--------+
@@ -2766,18 +2766,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x40000000,
-0x40000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40000000,
+ 0x40000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 912: character l (0x6c), width 8 */
/* +--------+
@@ -2794,18 +2794,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 924: character m (0x6d), width 8 */
/* +--------+
@@ -2822,18 +2822,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x00000000,
+ 0x00000000,

/* 936: character n (0x6e), width 8 */
/* +--------+
@@ -2850,18 +2850,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 948: character o (0x6f), width 8 */
/* +--------+
@@ -2878,18 +2878,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 960: character p (0x70), width 8 */
/* +--------+
@@ -2906,18 +2906,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x40000000,

/* 972: character q (0x71), width 8 */
/* +--------+
@@ -2934,18 +2934,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x02000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x02000000,

/* 984: character r (0x72), width 8 */
/* +--------+
@@ -2962,18 +2962,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x0c000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x0c000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 996: character s (0x73), width 8 */
/* +--------+
@@ -2990,18 +2990,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3e000000,
-0x40000000,
-0x3c000000,
-0x02000000,
-0x02000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3e000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1008: character t (0x74), width 8 */
/* +--------+
@@ -3018,18 +3018,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x54000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x0c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x54000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x0c000000,
+ 0x00000000,
+ 0x00000000,

/* 1020: character u (0x75), width 8 */
/* +--------+
@@ -3046,18 +3046,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1032: character v (0x76), width 8 */
/* +--------+
@@ -3074,18 +3074,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x44000000,
-0x48000000,
-0x50000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x44000000,
+ 0x48000000,
+ 0x50000000,
+ 0x00000000,
+ 0x00000000,

/* 1044: character w (0x77), width 8 */
/* +--------+
@@ -3102,18 +3102,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1056: character x (0x78), width 8 */
/* +--------+
@@ -3130,18 +3130,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 1068: character y (0x79), width 8 */
/* +--------+
@@ -3158,18 +3158,18 @@ static u_int32_t _radon_content[] = {
| * |
| **** |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x3c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x3c000000,

/* 1080: character z (0x7a), width 8 */
/* +--------+
@@ -3186,18 +3186,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x02000000,
-0x0c000000,
-0x30000000,
-0x40000000,
-0x3e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x0c000000,
+ 0x30000000,
+ 0x40000000,
+ 0x3e000000,
+ 0x00000000,
+ 0x00000000,

/* 1092: character { (0x7b), width 8 */
/* +--------+
@@ -3214,18 +3214,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x40000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x1c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x40000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x1c000000,
+ 0x00000000,
+ 0x00000000,

/* 1104: character | (0x7c), width 8 */
/* +--------+
@@ -3242,18 +3242,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1116: character } (0x7d), width 8 */
/* +--------+
@@ -3270,18 +3270,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x02000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x38000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x02000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,

/* 1128: character ~ (0x7e), width 8 */
/* +--------+
@@ -3298,18 +3298,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x04000000,
-0x38000000,
-0x40000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x04000000,
+ 0x38000000,
+ 0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1140: character   (0xa0), width 8 */
/* +--------+
@@ -3326,18 +3326,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1152: character ¡ (0xa1), width 8 */
/* +--------+
@@ -3354,18 +3354,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1164: character ¢ (0xa2), width 8 */
/* +--------+
@@ -3382,18 +3382,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x3e000000,
-0x40000000,
-0x48000000,
-0x48000000,
-0x40000000,
-0x3e000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x3e000000,
+ 0x40000000,
+ 0x48000000,
+ 0x48000000,
+ 0x40000000,
+ 0x3e000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 1176: character £ (0xa3), width 8 */
/* +--------+
@@ -3410,18 +3410,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0xa8000000,
-0x20000000,
-0x20000000,
-0x42000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0xa8000000,
+ 0x20000000,
+ 0x20000000,
+ 0x42000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 1188: character ¤ (0xa4), width 8 */
/* +--------+
@@ -3438,18 +3438,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x82000000,
-0x38000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x82000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1200: character ¥ (0xa5), width 8 */
/* +--------+
@@ -3466,18 +3466,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x54000000,
-0x10000000,
-0x54000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x54000000,
+ 0x10000000,
+ 0x54000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1212: character ¦ (0xa6), width 8 */
/* +--------+
@@ -3494,18 +3494,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1224: character § (0xa7), width 8 */
/* +--------+
@@ -3522,18 +3522,18 @@ static u_int32_t _radon_content[] = {
| *** |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x40000000,
-0x38000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x04000000,
-0x38000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x40000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,

/* 1236: character ¨ (0xa8), width 8 */
/* +--------+
@@ -3550,18 +3550,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1248: character © (0xa9), width 8 */
/* +--------+
@@ -3578,18 +3578,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x9a000000,
-0xa2000000,
-0xa2000000,
-0xa2000000,
-0x9a000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x9a000000,
+ 0xa2000000,
+ 0xa2000000,
+ 0xa2000000,
+ 0x9a000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1260: character ª (0xaa), width 8 */
/* +--------+
@@ -3606,18 +3606,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x04000000,
-0x34000000,
-0x44000000,
-0x38000000,
-0x00000000,
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x34000000,
+ 0x44000000,
+ 0x38000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1272: character « (0xab), width 8 */
/* +--------+
@@ -3634,18 +3634,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x24000000,
-0x48000000,
-0x00000000,
-0x48000000,
-0x24000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x24000000,
+ 0x48000000,
+ 0x00000000,
+ 0x48000000,
+ 0x24000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1284: character ¬ (0xac), width 8 */
/* +--------+
@@ -3662,18 +3662,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1296: character ­ (0xad), width 8 */
/* +--------+
@@ -3690,18 +3690,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1308: character ® (0xae), width 8 */
/* +--------+
@@ -3718,18 +3718,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x92000000,
-0xaa000000,
-0xb2000000,
-0xaa000000,
-0xaa000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x92000000,
+ 0xaa000000,
+ 0xb2000000,
+ 0xaa000000,
+ 0xaa000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1320: character ¯ (0xaf), width 8 */
/* +--------+
@@ -3746,18 +3746,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1332: character ° (0xb0), width 8 */
/* +--------+
@@ -3774,18 +3774,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1344: character ± (0xb1), width 8 */
/* +--------+
@@ -3802,18 +3802,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0xd6000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0xd6000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1356: character ² (0xb2), width 8 */
/* +--------+
@@ -3830,18 +3830,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x04000000,
-0x18000000,
-0x20000000,
-0x3c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x18000000,
+ 0x20000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1368: character ³ (0xb3), width 8 */
/* +--------+
@@ -3858,18 +3858,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x04000000,
-0x38000000,
-0x04000000,
-0x38000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x38000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1380: character ´ (0xb4), width 8 */
/* +--------+
@@ -3886,18 +3886,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x18000000,
-0x20000000,
-0x20000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x18000000,
+ 0x20000000,
+ 0x20000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1392: character µ (0xb5), width 8 */
/* +--------+
@@ -3914,18 +3914,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x58000000,
-0x40000000,
-0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x58000000,
+ 0x40000000,
+ 0x40000000,

/* 1404: character ¶ (0xb6), width 8 */
/* +--------+
@@ -3942,18 +3942,18 @@ static u_int32_t _radon_content[] = {
| * * |
| |
+--------+ */
-0x00000000,
-0x79000000,
-0xfa000000,
-0xfa000000,
-0xfa000000,
-0x7a000000,
-0x02000000,
-0x0a000000,
-0x0a000000,
-0x0a000000,
-0x0a000000,
-0x00000000,
+ 0x00000000,
+ 0x79000000,
+ 0xfa000000,
+ 0xfa000000,
+ 0xfa000000,
+ 0x7a000000,
+ 0x02000000,
+ 0x0a000000,
+ 0x0a000000,
+ 0x0a000000,
+ 0x0a000000,
+ 0x00000000,

/* 1416: character · (0xb7), width 8 */
/* +--------+
@@ -3970,18 +3970,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1428: character ¸ (0xb8), width 8 */
/* +--------+
@@ -3998,18 +3998,18 @@ static u_int32_t _radon_content[] = {
| * |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x08000000,
-0x10000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x10000000,
+ 0x00000000,

/* 1440: character ¹ (0xb9), width 8 */
/* +--------+
@@ -4026,18 +4026,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x18000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x18000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1452: character º (0xba), width 8 */
/* +--------+
@@ -4054,18 +4054,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x00000000,
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1464: character » (0xbb), width 8 */
/* +--------+
@@ -4082,18 +4082,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x48000000,
-0x24000000,
-0x00000000,
-0x24000000,
-0x48000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x48000000,
+ 0x24000000,
+ 0x00000000,
+ 0x24000000,
+ 0x48000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1476: character ¼ (0xbc), width 8 */
/* +--------+
@@ -4110,18 +4110,18 @@ static u_int32_t _radon_content[] = {
| *|
| *|
+--------+ */
-0x20000000,
-0xa2000000,
-0x22000000,
-0x22000000,
-0x24000000,
-0x08000000,
-0x10000000,
-0x29000000,
-0x49000000,
-0x85000000,
-0x01000000,
-0x01000000,
+ 0x20000000,
+ 0xa2000000,
+ 0x22000000,
+ 0x22000000,
+ 0x24000000,
+ 0x08000000,
+ 0x10000000,
+ 0x29000000,
+ 0x49000000,
+ 0x85000000,
+ 0x01000000,
+ 0x01000000,

/* 1488: character ½ (0xbd), width 8 */
/* +--------+
@@ -4138,18 +4138,18 @@ static u_int32_t _radon_content[] = {
| * |
| ****|
+--------+ */
-0x20000000,
-0xa2000000,
-0x22000000,
-0x22000000,
-0x24000000,
-0x08000000,
-0x10000000,
-0x2e000000,
-0x41000000,
-0x86000000,
-0x08000000,
-0x0f000000,
+ 0x20000000,
+ 0xa2000000,
+ 0x22000000,
+ 0x22000000,
+ 0x24000000,
+ 0x08000000,
+ 0x10000000,
+ 0x2e000000,
+ 0x41000000,
+ 0x86000000,
+ 0x08000000,
+ 0x0f000000,

/* 1500: character ¾ (0xbe), width 8 */
/* +--------+
@@ -4166,18 +4166,18 @@ static u_int32_t _radon_content[] = {
| *|
| *|
+--------+ */
-0xe0000000,
-0x12000000,
-0xe2000000,
-0x12000000,
-0xe4000000,
-0x08000000,
-0x10000000,
-0x29000000,
-0x49000000,
-0x85000000,
-0x01000000,
-0x01000000,
+ 0xe0000000,
+ 0x12000000,
+ 0xe2000000,
+ 0x12000000,
+ 0xe4000000,
+ 0x08000000,
+ 0x10000000,
+ 0x29000000,
+ 0x49000000,
+ 0x85000000,
+ 0x01000000,
+ 0x01000000,

/* 1512: character ¿ (0xbf), width 8 */
/* +--------+
@@ -4194,18 +4194,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x70000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x70000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7e000000,
+ 0x00000000,
+ 0x00000000,

/* 1524: character À (0xc0), width 8 */
/* +--------+
@@ -4222,18 +4222,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1536: character Á (0xc1), width 8 */
/* +--------+
@@ -4250,18 +4250,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1548: character  (0xc2), width 8 */
/* +--------+
@@ -4278,18 +4278,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1560: character à (0xc3), width 8 */
/* +--------+
@@ -4306,18 +4306,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1572: character Ä (0xc4), width 8 */
/* +--------+
@@ -4334,18 +4334,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1584: character Å (0xc5), width 8 */
/* +--------+
@@ -4362,18 +4362,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x38000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x38000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1596: character Æ (0xc6), width 8 */
/* +--------+
@@ -4390,18 +4390,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x77000000,
-0x88000000,
-0x88000000,
-0x88000000,
-0x8b000000,
-0xa8000000,
-0x88000000,
-0x88000000,
-0x8b000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x77000000,
+ 0x88000000,
+ 0x88000000,
+ 0x88000000,
+ 0x8b000000,
+ 0xa8000000,
+ 0x88000000,
+ 0x88000000,
+ 0x8b000000,
+ 0x00000000,
+ 0x00000000,

/* 1608: character Ç (0xc7), width 8 */
/* +--------+
@@ -4418,18 +4418,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x6c000000,
-0x10000000,
-0x20000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x6c000000,
+ 0x10000000,
+ 0x20000000,

/* 1620: character È (0xc8), width 8 */
/* +--------+
@@ -4446,18 +4446,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1632: character É (0xc9), width 8 */
/* +--------+
@@ -4474,18 +4474,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1644: character Ê (0xca), width 8 */
/* +--------+
@@ -4502,18 +4502,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1656: character Ë (0xcb), width 8 */
/* +--------+
@@ -4530,18 +4530,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1668: character Ì (0xcc), width 8 */
/* +--------+
@@ -4558,18 +4558,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1680: character Í (0xcd), width 8 */
/* +--------+
@@ -4586,18 +4586,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1692: character Î (0xce), width 8 */
/* +--------+
@@ -4614,18 +4614,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1704: character Ï (0xcf), width 8 */
/* +--------+
@@ -4642,18 +4642,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1716: character Ð (0xd0), width 8 */
/* +--------+
@@ -4670,18 +4670,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xb2000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xb2000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 1728: character Ñ (0xd1), width 8 */
/* +--------+
@@ -4698,18 +4698,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1740: character Ò (0xd2), width 8 */
/* +--------+
@@ -4726,18 +4726,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1752: character Ó (0xd3), width 8 */
/* +--------+
@@ -4754,18 +4754,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1764: character Ô (0xd4), width 8 */
/* +--------+
@@ -4782,18 +4782,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1776: character Õ (0xd5), width 8 */
/* +--------+
@@ -4810,18 +4810,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1788: character Ö (0xd6), width 8 */
/* +--------+
@@ -4838,18 +4838,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1800: character × (0xd7), width 8 */
/* +--------+
@@ -4866,18 +4866,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x44000000,
-0x28000000,
-0x00000000,
-0x28000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x44000000,
+ 0x28000000,
+ 0x00000000,
+ 0x28000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1812: character Ø (0xd8), width 8 */
/* +--------+
@@ -4894,18 +4894,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7a000000,
-0x84000000,
-0x82000000,
-0x8a000000,
-0x92000000,
-0xa2000000,
-0x82000000,
-0x42000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7a000000,
+ 0x84000000,
+ 0x82000000,
+ 0x8a000000,
+ 0x92000000,
+ 0xa2000000,
+ 0x82000000,
+ 0x42000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 1824: character Ù (0xd9), width 8 */
/* +--------+
@@ -4922,18 +4922,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1836: character Ú (0xda), width 8 */
/* +--------+
@@ -4950,18 +4950,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1848: character Û (0xdb), width 8 */
/* +--------+
@@ -4978,18 +4978,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1860: character Ü (0xdc), width 8 */
/* +--------+
@@ -5006,18 +5006,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1872: character Ý (0xdd), width 8 */
/* +--------+
@@ -5034,18 +5034,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0xb2000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0xb2000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1884: character Þ (0xde), width 8 */
/* +--------+
@@ -5062,18 +5062,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 1896: character ß (0xdf), width 8 */
/* +--------+
@@ -5090,18 +5090,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x9c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x9c000000,
+ 0x00000000,
+ 0x00000000,

/* 1908: character à (0xe0), width 8 */
/* +--------+
@@ -5118,18 +5118,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1920: character á (0xe1), width 8 */
/* +--------+
@@ -5146,18 +5146,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1932: character â (0xe2), width 8 */
/* +--------+
@@ -5174,18 +5174,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1944: character ã (0xe3), width 8 */
/* +--------+
@@ -5202,18 +5202,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1956: character ä (0xe4), width 8 */
/* +--------+
@@ -5230,18 +5230,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1968: character å (0xe5), width 8 */
/* +--------+
@@ -5258,18 +5258,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x18000000,
-0x24000000,
-0x18000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x18000000,
+ 0x24000000,
+ 0x18000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1980: character æ (0xe6), width 8 */
/* +--------+
@@ -5286,18 +5286,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x6c000000,
-0x12000000,
-0x52000000,
-0x94000000,
-0x90000000,
-0x6e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x6c000000,
+ 0x12000000,
+ 0x52000000,
+ 0x94000000,
+ 0x90000000,
+ 0x6e000000,
+ 0x00000000,
+ 0x00000000,

/* 1992: character ç (0xe7), width 8 */
/* +--------+
@@ -5314,18 +5314,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x34000000,
-0x08000000,
-0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x34000000,
+ 0x08000000,
+ 0x10000000,

/* 2004: character è (0xe8), width 8 */
/* +--------+
@@ -5342,18 +5342,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2016: character é (0xe9), width 8 */
/* +--------+
@@ -5370,18 +5370,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2028: character ê (0xea), width 8 */
/* +--------+
@@ -5398,18 +5398,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2040: character ë (0xeb), width 8 */
/* +--------+
@@ -5426,18 +5426,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2052: character ì (0xec), width 8 */
/* +--------+
@@ -5454,18 +5454,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2064: character í (0xed), width 8 */
/* +--------+
@@ -5482,18 +5482,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2076: character î (0xee), width 8 */
/* +--------+
@@ -5510,18 +5510,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2088: character ï (0xef), width 8 */
/* +--------+
@@ -5538,18 +5538,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2100: character ð (0xf0), width 8 */
/* +--------+
@@ -5566,18 +5566,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x14000000,
-0x08000000,
-0x14000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x14000000,
+ 0x08000000,
+ 0x14000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2112: character ñ (0xf1), width 8 */
/* +--------+
@@ -5594,18 +5594,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x32000000,
-0x4c000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 2124: character ò (0xf2), width 8 */
/* +--------+
@@ -5622,18 +5622,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2136: character ó (0xf3), width 8 */
/* +--------+
@@ -5650,18 +5650,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2148: character ô (0xf4), width 8 */
/* +--------+
@@ -5678,18 +5678,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2160: character õ (0xf5), width 8 */
/* +--------+
@@ -5706,18 +5706,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2172: character ö (0xf6), width 8 */
/* +--------+
@@ -5734,18 +5734,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2184: character ÷ (0xf7), width 8 */
/* +--------+
@@ -5762,18 +5762,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x38000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x38000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 2196: character ø (0xf8), width 8 */
/* +--------+
@@ -5790,18 +5790,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3a000000,
-0x44000000,
-0x4a000000,
-0x52000000,
-0x22000000,
-0x5c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3a000000,
+ 0x44000000,
+ 0x4a000000,
+ 0x52000000,
+ 0x22000000,
+ 0x5c000000,
+ 0x00000000,
+ 0x00000000,

/* 2208: character ù (0xf9), width 8 */
/* +--------+
@@ -5818,18 +5818,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2220: character ú (0xfa), width 8 */
/* +--------+
@@ -5846,18 +5846,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2232: character û (0xfb), width 8 */
/* +--------+
@@ -5874,18 +5874,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2244: character ü (0xfc), width 8 */
/* +--------+
@@ -5902,18 +5902,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2256: character ý (0xfd), width 8 */
/* +--------+
@@ -5930,18 +5930,18 @@ static u_int32_t _radon_content[] = {
| * |
| **** |
+--------+ */
-0x04000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x3c000000,
+ 0x04000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x3c000000,

/* 2268: character þ (0xfe), width 8 */
/* +--------+
@@ -5958,27 +5958,27 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0x9c000000,
-0xa2000000,
-0x82000000,
-0xa2000000,
-0x9c000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x9c000000,
+ 0xa2000000,
+ 0x82000000,
+ 0xa2000000,
+ 0x9c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

};

/* Exported structure definition. */
const PSplashFont radeon_font = {
- "radon",
- 12,
- 0xff,
- _radon_offset,
- _radon_index,
- _radon_content,
+ "radon",
+ 12,
+ 0xff,
+ _radon_offset,
+ _radon_index,
+ _radon_content,
};
--
2.17.1


[PATCH 2/2] Add CMakeLists.txt to build project with cmake

LM.H.
 

Example:
mkdir build && cd build
cmake ../ -DHAVE_SYSTEMD=ON
make

Signed-off-by: LM.H <hyyoxhk@...>
---
CMakeLists.txt | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
create mode 100644 CMakeLists.txt

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..1a7e6f1
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,41 @@
+cmake_minimum_required(VERSION 3.1.0)
+
+project(psplash LANGUAGES C)
+
+option(HAVE_SYSTEMD "Build with systemd support" OFF)
+option(DISABLE_STARTUP_MSG "Disable text banner output on startup" OFF)
+option(DISABLE_PROGRESS_BAR "Disable progress bar" OFF)
+option(IMG_FULLSCREEN "Enable the logo image in fullscreen mode" OFF)
+
+set(PSPLASH_SRCS psplash-console.c
+ psplash-fb.c
+ psplash.c)
+
+add_executable(psplash ${PSPLASH_SRCS})
+add_executable(psplash-write psplash-write.c)
+
+if (HAVE_SYSTEMD)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(SYSTEMD REQUIRED libsystemd>=221)
+ add_executable(psplash-systemd psplash-systemd.c)
+ target_link_libraries(psplash-systemd systemd)
+endif()
+
+if (NOT FONT_NAME)
+ set(FONT_NAME radeon)
+endif()
+
+add_definitions(-DFONT_HEADER=\"${FONT_NAME}-font.h\")
+add_definitions(-DFONT_DEF=${FONT_NAME}_font)
+
+if(DISABLE_STARTUP_MSG)
+ add_definitions(-DPSPLASH_DISABLE_STARTUP_MSG)
+endif()
+
+if(DISABLE_PROGRESS_BAR)
+ add_definitions(-DPSPLASH_DISABLE_PROGRESS_BAR)
+endif()
+
+if(IMG_FULLSCREEN)
+ add_definitions(-DPSPLASH_IMG_FULLSCREEN=1)
+endif()
--
2.17.1


[PATCH 1/2] Change the coding style to be the same as the linux kernel

LM.H.
 

The original coding style is not conducive to reading, I find
that the coding style of the linux kernel makes reading more
enjoyable

Signed-off-by: LM.H <hyyoxhk@...>
---
psplash-console.c | 287 ++-
psplash-console.h | 6 +-
psplash-fb.c | 1071 ++++-----
psplash-fb.h | 118 +-
psplash-systemd.c | 39 +-
psplash-write.c | 55 +-
psplash.c | 527 ++--
psplash.h | 27 +-
radeon-font.h | 5844 ++++++++++++++++++++++-----------------------
9 files changed, 3941 insertions(+), 4033 deletions(-)

diff --git a/psplash-console.c b/psplash-console.c
index 3a40620..ecff91f 100644
--- a/psplash-console.c
+++ b/psplash-console.c
@@ -10,178 +10,163 @@
#include "psplash.h"

/* Globals, needed for signal handling */
-static int ConsoleFd = -1;
-static int VTNum = -1;
-static int VTNumInitial = -1;
-static int Visible = 1;
+static int ConsoleFd = -1;
+static int VTNum = -1;
+static int VTNumInitial = -1;
+static int Visible = 1;

-static void
-vt_request (int UNUSED(sig))
+static void vt_request(int UNUSED(sig))
{
- DBG("mark, visible:%i", Visible);
-
- if (Visible)
- {
- /* Allow Switch Away */
- if (ioctl (ConsoleFd, VT_RELDISP, 1) < 0)
- perror("Error cannot switch away from console");
- Visible = 0;
-
- /* FIXME:
- * We likely now want to signal the main loop as to exit
- * and we've now likely switched to the X tty. Note, this
- * seems to happen anyway atm due to select() call getting
- * a signal interuption error - not sure if this is really
- * reliable however.
- */
- }
- else
- {
- if (ioctl (ConsoleFd, VT_RELDISP, VT_ACKACQ))
- perror ("Error can't acknowledge VT switch");
- Visible = 1;
- /* FIXME: need to schedule repaint some how ? */
- }
+ DBG("mark, visible:%i", Visible);
+
+ if (Visible) {
+ /* Allow Switch Away */
+ if (ioctl(ConsoleFd, VT_RELDISP, 1) < 0)
+ perror("Error cannot switch away from console");
+ Visible = 0;
+
+ /* FIXME:
+ * We likely now want to signal the main loop as to exit
+ * and we've now likely switched to the X tty. Note, this
+ * seems to happen anyway atm due to select() call getting
+ * a signal interuption error - not sure if this is really
+ * reliable however.
+ */
+ } else {
+ if (ioctl(ConsoleFd, VT_RELDISP, VT_ACKACQ))
+ perror("Error can't acknowledge VT switch");
+ Visible = 1;
+ /* FIXME: need to schedule repaint some how ? */
+ }
}

-static void
-psplash_console_ignore_switches (void)
+static void psplash_console_ignore_switches(void)
{
- struct sigaction act;
- struct vt_mode vt_mode;
-
- if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0)
- {
- perror("Error VT_SETMODE failed");
- return;
- }
-
- act.sa_handler = SIG_IGN;
- sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGUSR1, &act, 0);
-
- vt_mode.mode = VT_AUTO;
- vt_mode.relsig = 0;
- vt_mode.acqsig = 0;
-
- if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
- perror("Error VT_SETMODE failed");
+ struct sigaction act;
+ struct vt_mode vt_mode;
+
+ if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0) {
+ perror("Error VT_SETMODE failed");
+ return;
+ }
+
+ act.sa_handler = SIG_IGN;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = 0;
+ sigaction(SIGUSR1, &act, 0);
+
+ vt_mode.mode = VT_AUTO;
+ vt_mode.relsig = 0;
+ vt_mode.acqsig = 0;
+
+ if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
+ perror("Error VT_SETMODE failed");
}

-static void
-psplash_console_handle_switches (void)
+static void psplash_console_handle_switches(void)
{
- struct sigaction act;
- struct vt_mode vt_mode;
-
- if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0)
- {
- perror("Error VT_SETMODE failed");
- return;
- }
-
- act.sa_handler = vt_request;
- sigemptyset (&act.sa_mask);
- act.sa_flags = 0;
- sigaction (SIGUSR1, &act, 0);
-
- vt_mode.mode = VT_PROCESS;
- vt_mode.relsig = SIGUSR1;
- vt_mode.acqsig = SIGUSR1;
-
- if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
- perror("Error VT_SETMODE failed");
+ struct sigaction act;
+ struct vt_mode vt_mode;
+
+ if (ioctl(ConsoleFd, VT_GETMODE, &vt_mode) < 0) {
+ perror("Error VT_SETMODE failed");
+ return;
+ }
+
+ act.sa_handler = vt_request;
+ sigemptyset(&act.sa_mask);
+ act.sa_flags = 0;
+ sigaction(SIGUSR1, &act, 0);
+
+ vt_mode.mode = VT_PROCESS;
+ vt_mode.relsig = SIGUSR1;
+ vt_mode.acqsig = SIGUSR1;
+
+ if (ioctl(ConsoleFd, VT_SETMODE, &vt_mode) < 0)
+ perror("Error VT_SETMODE failed");
}

-void
-psplash_console_switch (void)
+void psplash_console_switch(void)
{
- char vtname[10];
- int fd;
- struct vt_stat vt_state;
-
- if ((fd = open("/dev/tty0",O_WRONLY,0)) < 0)
- {
- perror("Error Cannot open /dev/tty0");
- return;
- }
-
- /* Find next free terminal */
- if ((ioctl(fd, VT_OPENQRY, &VTNum) < 0))
- {
- perror("Error unable to find a free virtual terminal");
- close(fd);
- return;
- }
-
- close(fd);
-
- sprintf(vtname,"/dev/tty%d", VTNum);
-
- if ((ConsoleFd = open(vtname, O_RDWR|O_NDELAY, 0)) < 0)
- {
- fprintf(stderr, "Error cannot open %s: %s\n", vtname, strerror(errno));
- return;
- }
-
- if (ioctl(ConsoleFd, VT_GETSTATE, &vt_state) == 0)
- VTNumInitial = vt_state.v_active;
-
- /* Switch to new free terminal */
-
- psplash_console_ignore_switches ();
-
- if (ioctl(ConsoleFd, VT_ACTIVATE, VTNum) != 0)
- perror("Error VT_ACTIVATE failed");
-
- if (ioctl(ConsoleFd, VT_WAITACTIVE, VTNum) != 0)
- perror("Error VT_WAITACTIVE failed\n");
-
- psplash_console_handle_switches ();
-
- if (ioctl(ConsoleFd, KDSETMODE, KD_GRAPHICS) < 0)
- perror("Error KDSETMODE KD_GRAPHICS failed\n");
-
- return;
+ char vtname[10];
+ int fd;
+ struct vt_stat vt_state;
+
+ if ((fd = open("/dev/tty0", O_WRONLY, 0)) < 0) {
+ perror("Error Cannot open /dev/tty0");
+ return;
+ }
+
+ /* Find next free terminal */
+ if ((ioctl(fd, VT_OPENQRY, &VTNum) < 0)) {
+ perror("Error unable to find a free virtual terminal");
+ close(fd);
+ return;
+ }
+
+ close(fd);
+
+ sprintf(vtname, "/dev/tty%d", VTNum);
+
+ if ((ConsoleFd = open(vtname, O_RDWR | O_NDELAY, 0)) < 0) {
+ fprintf(stderr, "Error cannot open %s: %s\n", vtname,
+ strerror(errno));
+ return;
+ }
+
+ if (ioctl(ConsoleFd, VT_GETSTATE, &vt_state) == 0)
+ VTNumInitial = vt_state.v_active;
+
+ /* Switch to new free terminal */
+
+ psplash_console_ignore_switches();
+
+ if (ioctl(ConsoleFd, VT_ACTIVATE, VTNum) != 0)
+ perror("Error VT_ACTIVATE failed");
+
+ if (ioctl(ConsoleFd, VT_WAITACTIVE, VTNum) != 0)
+ perror("Error VT_WAITACTIVE failed\n");
+
+ psplash_console_handle_switches();
+
+ if (ioctl(ConsoleFd, KDSETMODE, KD_GRAPHICS) < 0)
+ perror("Error KDSETMODE KD_GRAPHICS failed\n");
+
+ return;
}

-void
-psplash_console_reset (void)
+void psplash_console_reset(void)
{
- int fd;
- struct vt_stat vt_state;
+ int fd;
+ struct vt_stat vt_state;

- if (ConsoleFd < 0)
- return;
+ if (ConsoleFd < 0)
+ return;

- /* Back to text mode */
- ioctl(ConsoleFd, KDSETMODE, KD_TEXT);
+ /* Back to text mode */
+ ioctl(ConsoleFd, KDSETMODE, KD_TEXT);

- psplash_console_ignore_switches ();
+ psplash_console_ignore_switches();

- /* Attempt to switch back to initial console if were still active */
- ioctl (ConsoleFd, VT_GETSTATE, &vt_state);
+ /* Attempt to switch back to initial console if were still active */
+ ioctl(ConsoleFd, VT_GETSTATE, &vt_state);

- if (VTNum == vt_state.v_active)
- {
- if (VTNumInitial > -1)
- {
- ioctl (ConsoleFd, VT_ACTIVATE, VTNumInitial);
- ioctl (ConsoleFd, VT_WAITACTIVE, VTNumInitial);
- VTNumInitial = -1;
- }
- }
+ if (VTNum == vt_state.v_active) {
+ if (VTNumInitial > -1) {
+ ioctl(ConsoleFd, VT_ACTIVATE, VTNumInitial);
+ ioctl(ConsoleFd, VT_WAITACTIVE, VTNumInitial);
+ VTNumInitial = -1;
+ }
+ }

- /* Cleanup */
+ /* Cleanup */

- close(ConsoleFd);
+ close(ConsoleFd);

- if ((fd = open ("/dev/tty0", O_RDWR|O_NDELAY, 0)) >= 0)
- {
- ioctl (fd, VT_DISALLOCATE, VTNum);
- close (fd);
- }
+ if ((fd = open("/dev/tty0", O_RDWR | O_NDELAY, 0)) >= 0) {
+ ioctl(fd, VT_DISALLOCATE, VTNum);
+ close(fd);
+ }

- return;
+ return;
}
diff --git a/psplash-console.h b/psplash-console.h
index c893bf2..ffc1a0e 100644
--- a/psplash-console.h
+++ b/psplash-console.h
@@ -10,10 +10,8 @@
#ifndef _HAVE_PSPLASH_CONSOLE_H
#define _HAVE_PSPLASH_CONSOLE_H

-void
-psplash_console_switch (void);
+void psplash_console_switch(void);

-void
-psplash_console_reset (void);
+void psplash_console_reset(void);

#endif
diff --git a/psplash-fb.c b/psplash-fb.c
index 2babb5f..08bb2ad 100644
--- a/psplash-fb.c
+++ b/psplash-fb.c
@@ -10,616 +10,589 @@
#include <endian.h>
#include "psplash.h"

-static void
-psplash_wait_for_vsync(PSplashFB *fb)
+static void psplash_wait_for_vsync(PSplashFB * fb)
{
- int err = ioctl(fb->fd, FBIO_WAITFORVSYNC, 0);
- if (err != 0)
- fprintf(stderr, "Error, FB vsync ioctl [%d]\n", err);
+ int err = ioctl(fb->fd, FBIO_WAITFORVSYNC, 0);
+ if (err != 0)
+ fprintf(stderr, "Error, FB vsync ioctl [%d]\n", err);
}

-void
-psplash_fb_flip(PSplashFB *fb, int sync)
+void psplash_fb_flip(PSplashFB * fb, int sync)
{
- char *tmp;
-
- if (fb->double_buffering) {
-
- /* Carry out the flip after a vsync */
- psplash_wait_for_vsync(fb);
-
- /* Switch the current activate area in fb */
- if (fb->fb_var.yoffset == 0 ) {
- fb->fb_var.yoffset = fb->real_height;
- } else {
- fb->fb_var.yoffset = 0;
- }
- if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb->fb_var) == -1 ) {
- fprintf(stderr, "psplash_fb_flip: FBIOPAN_DISPLAY failed\n");
- }
-
- /* Switch the front and back data pointers */
- tmp = fb->fdata;
- fb->fdata = fb->bdata;
- fb->bdata = tmp;
-
- /* Sync new front to new back when requested */
- if (sync) {
- memcpy(fb->bdata, fb->fdata, fb->stride * fb->real_height);
- }
- }
+ char *tmp;
+
+ if (fb->double_buffering) {
+
+ /* Carry out the flip after a vsync */
+ psplash_wait_for_vsync(fb);
+
+ /* Switch the current activate area in fb */
+ if (fb->fb_var.yoffset == 0) {
+ fb->fb_var.yoffset = fb->real_height;
+ } else {
+ fb->fb_var.yoffset = 0;
+ }
+ if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb->fb_var) == -1) {
+ fprintf(stderr,
+ "psplash_fb_flip: FBIOPAN_DISPLAY failed\n");
+ }
+
+ /* Switch the front and back data pointers */
+ tmp = fb->fdata;
+ fb->fdata = fb->bdata;
+ fb->bdata = tmp;
+
+ /* Sync new front to new back when requested */
+ if (sync) {
+ memcpy(fb->bdata, fb->fdata,
+ fb->stride * fb->real_height);
+ }
+ }
}

-void
-psplash_fb_destroy (PSplashFB *fb)
+void psplash_fb_destroy(PSplashFB * fb)
{
- if (fb->fd >= 0)
- close (fb->fd);
+ if (fb->fd >= 0)
+ close(fb->fd);

- free(fb);
+ free(fb);
}

static int
-attempt_to_change_pixel_format (PSplashFB *fb,
- struct fb_var_screeninfo *fb_var)
+attempt_to_change_pixel_format(PSplashFB * fb, struct fb_var_screeninfo *fb_var)
{
- /* By default the framebuffer driver may have set an oversized
- * yres_virtual to support VT scrolling via the panning interface.
- *
- * We don't try and maintain this since it's more likely that we
- * will fail to increase the bpp if the driver's pre allocated
- * framebuffer isn't large enough.
- */
- fb_var->yres_virtual = fb_var->yres;
-
- /* First try setting an 8,8,8,0 pixel format so we don't have to do
- * any conversions while drawing. */
-
- fb_var->bits_per_pixel = 32;
-
- fb_var->red.offset = 0;
- fb_var->red.length = 8;
-
- fb_var->green.offset = 8;
- fb_var->green.length = 8;
-
- fb_var->blue.offset = 16;
- fb_var->blue.length = 8;
-
- fb_var->transp.offset = 0;
- fb_var->transp.length = 0;
-
- if (ioctl (fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0)
- {
- fprintf(stdout, "Switched to a 32 bpp 8,8,8 frame buffer\n");
- return 1;
- }
- else
- {
- fprintf(stderr,
- "Error, failed to switch to a 32 bpp 8,8,8 frame buffer\n");
- }
-
- /* Otherwise try a 16bpp 5,6,5 format */
-
- fb_var->bits_per_pixel = 16;
-
- fb_var->red.offset = 11;
- fb_var->red.length = 5;
-
- fb_var->green.offset = 5;
- fb_var->green.length = 6;
-
- fb_var->blue.offset = 0;
- fb_var->blue.length = 5;
-
- fb_var->transp.offset = 0;
- fb_var->transp.length = 0;
-
- if (ioctl (fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0)
- {
- fprintf(stdout, "Switched to a 16 bpp 5,6,5 frame buffer\n");
- return 1;
- }
- else
- {
- fprintf(stderr,
- "Error, failed to switch to a 16 bpp 5,6,5 frame buffer\n");
- }
-
- return 0;
+ /* By default the framebuffer driver may have set an oversized
+ * yres_virtual to support VT scrolling via the panning interface.
+ *
+ * We don't try and maintain this since it's more likely that we
+ * will fail to increase the bpp if the driver's pre allocated
+ * framebuffer isn't large enough.
+ */
+ fb_var->yres_virtual = fb_var->yres;
+
+ /* First try setting an 8,8,8,0 pixel format so we don't have to do
+ * any conversions while drawing. */
+
+ fb_var->bits_per_pixel = 32;
+
+ fb_var->red.offset = 0;
+ fb_var->red.length = 8;
+
+ fb_var->green.offset = 8;
+ fb_var->green.length = 8;
+
+ fb_var->blue.offset = 16;
+ fb_var->blue.length = 8;
+
+ fb_var->transp.offset = 0;
+ fb_var->transp.length = 0;
+
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0) {
+ fprintf(stdout, "Switched to a 32 bpp 8,8,8 frame buffer\n");
+ return 1;
+ } else {
+ fprintf(stderr,
+ "Error, failed to switch to a 32 bpp 8,8,8 frame buffer\n");
+ }
+
+ /* Otherwise try a 16bpp 5,6,5 format */
+
+ fb_var->bits_per_pixel = 16;
+
+ fb_var->red.offset = 11;
+ fb_var->red.length = 5;
+
+ fb_var->green.offset = 5;
+ fb_var->green.length = 6;
+
+ fb_var->blue.offset = 0;
+ fb_var->blue.length = 5;
+
+ fb_var->transp.offset = 0;
+ fb_var->transp.length = 0;
+
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, fb_var) == 0) {
+ fprintf(stdout, "Switched to a 16 bpp 5,6,5 frame buffer\n");
+ return 1;
+ } else {
+ fprintf(stderr,
+ "Error, failed to switch to a 16 bpp 5,6,5 frame buffer\n");
+ }
+
+ return 0;
}

-PSplashFB*
-psplash_fb_new (int angle, int fbdev_id)
+PSplashFB *psplash_fb_new(int angle, int fbdev_id)
{
- struct fb_var_screeninfo fb_var;
- struct fb_fix_screeninfo fb_fix;
- int off;
- char fbdev[9] = "/dev/fb0";
-
- PSplashFB *fb = NULL;
-
- if (fbdev_id > 0 && fbdev_id < 10)
- {
- // Conversion from integer to ascii.
- fbdev[7] = fbdev_id + 48;
- }
-
- if ((fb = malloc (sizeof(PSplashFB))) == NULL)
- {
- perror ("Error no memory");
- goto fail;
- }
-
- memset (fb, 0, sizeof(PSplashFB));
-
- fb->fd = -1;
-
- if ((fb->fd = open (fbdev, O_RDWR)) < 0)
- {
- fprintf(stderr,
- "Error opening %s\n",
- fbdev);
- goto fail;
- }
-
- if (ioctl (fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1)
- {
- perror ("Error getting variable framebuffer info");
- goto fail;
- }
-
- if (fb_var.bits_per_pixel < 16)
- {
- fprintf(stderr,
- "Error, no support currently for %i bpp frame buffers\n"
- "Trying to change pixel format...\n",
- fb_var.bits_per_pixel);
- if (!attempt_to_change_pixel_format (fb, &fb_var))
- goto fail;
- }
-
- if (ioctl (fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1)
- {
- perror ("Error getting variable framebuffer info (2)");
- goto fail;
- }
-
- /* NB: It looks like the fbdev concept of fixed vs variable screen info is
- * broken. The line_length is part of the fixed info but it can be changed
- * if you set a new pixel format. */
- if (ioctl (fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1)
- {
- perror ("Error getting fixed framebuffer info");
- goto fail;
- }
-
- /* Setup double virtual resolution for double buffering */
- if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb_var) == -1) {
- fprintf(stderr, "warning: FBIOPAN_DISPLAY not supported, "
- "double buffering disabled\n");
- } else {
- if (fb_var.yres_virtual == fb_var.yres * 2) {
- DBG("Virtual resolution already double");
- fb->double_buffering = 1;
- } else {
- fb_var.yres_virtual = fb_var.yres * 2;
- if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, &fb_var) == -1) {
- fprintf(stderr, "warning: FBIOPUT_VSCREENINFO failed, "
- "double buffering disabled\n");
- } else {
- if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1) {
- perror(" Error getting the fixed framebuffer info");
- goto fail;
- } else {
- DBG("Virtual resolution set to double");
- fb->double_buffering = 1;
- }
- }
- }
- }
-
- fb->real_width = fb->width = fb_var.xres;
- fb->real_height = fb->height = fb_var.yres;
- fb->bpp = fb_var.bits_per_pixel;
- fb->stride = fb_fix.line_length;
- fb->type = fb_fix.type;
- fb->visual = fb_fix.visual;
-
- fb->red_offset = fb_var.red.offset;
- fb->red_length = fb_var.red.length;
- fb->green_offset = fb_var.green.offset;
- fb->green_length = fb_var.green.length;
- fb->blue_offset = fb_var.blue.offset;
- fb->blue_length = fb_var.blue.length;
-
- if (fb->red_offset == 11 && fb->red_length == 5 &&
- fb->green_offset == 5 && fb->green_length == 6 &&
- fb->blue_offset == 0 && fb->blue_length == 5) {
- fb->rgbmode = RGB565;
- } else if (fb->red_offset == 0 && fb->red_length == 5 &&
- fb->green_offset == 5 && fb->green_length == 6 &&
- fb->blue_offset == 11 && fb->blue_length == 5) {
- fb->rgbmode = BGR565;
- } else if (fb->red_offset == 16 && fb->red_length == 8 &&
- fb->green_offset == 8 && fb->green_length == 8 &&
- fb->blue_offset == 0 && fb->blue_length == 8) {
- fb->rgbmode = RGB888;
- } else if (fb->red_offset == 0 && fb->red_length == 8 &&
- fb->green_offset == 8 && fb->green_length == 8 &&
- fb->blue_offset == 16 && fb->blue_length == 8) {
- fb->rgbmode = BGR888;
- } else {
- fb->rgbmode = GENERIC;
- }
-
- DBG("width: %i, height: %i, bpp: %i, stride: %i",
- fb->width, fb->height, fb->bpp, fb->stride);
-
- fb->base = (char *) mmap ((caddr_t) NULL,
- fb_fix.smem_len,
- PROT_READ|PROT_WRITE,
- MAP_SHARED,
- fb->fd, 0);
-
- if (fb->base == (char *)-1)
- {
- perror("Error cannot mmap framebuffer ");
- goto fail;
- }
-
- off = (unsigned long) fb_fix.smem_start % (unsigned long) getpagesize();
-
- fb->data = fb->base + off;
-
- if (fb->double_buffering) {
- /* fb_var is needed when flipping the buffers */
- memcpy(&fb->fb_var, &fb_var, sizeof(struct fb_var_screeninfo));
- if (fb->fb_var.yoffset == 0) {
- printf("to back\n");
- fb->fdata = fb->data;
- fb->bdata = fb->data + fb->stride * fb->height;
- } else {
- printf("to front\n");
- fb->fdata = fb->data + fb->stride * fb->height;
- fb->bdata = fb->data;
- }
- } else {
- fb->fdata = fb->data;
- fb->bdata = fb->data;
- }
+ struct fb_var_screeninfo fb_var;
+ struct fb_fix_screeninfo fb_fix;
+ int off;
+ char fbdev[9] = "/dev/fb0";
+
+ PSplashFB *fb = NULL;
+
+ if (fbdev_id > 0 && fbdev_id < 10) {
+ // Conversion from integer to ascii.
+ fbdev[7] = fbdev_id + 48;
+ }
+
+ if ((fb = malloc(sizeof(PSplashFB))) == NULL) {
+ perror("Error no memory");
+ goto fail;
+ }
+
+ memset(fb, 0, sizeof(PSplashFB));
+
+ fb->fd = -1;
+
+ if ((fb->fd = open(fbdev, O_RDWR)) < 0) {
+ fprintf(stderr, "Error opening %s\n", fbdev);
+ goto fail;
+ }
+
+ if (ioctl(fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1) {
+ perror("Error getting variable framebuffer info");
+ goto fail;
+ }
+
+ if (fb_var.bits_per_pixel < 16) {
+ fprintf(stderr,
+ "Error, no support currently for %i bpp frame buffers\n"
+ "Trying to change pixel format...\n",
+ fb_var.bits_per_pixel);
+ if (!attempt_to_change_pixel_format(fb, &fb_var))
+ goto fail;
+ }
+
+ if (ioctl(fb->fd, FBIOGET_VSCREENINFO, &fb_var) == -1) {
+ perror("Error getting variable framebuffer info (2)");
+ goto fail;
+ }
+
+ /* NB: It looks like the fbdev concept of fixed vs variable screen info is
+ * broken. The line_length is part of the fixed info but it can be changed
+ * if you set a new pixel format. */
+ if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix) == -1) {
+ perror("Error getting fixed framebuffer info");
+ goto fail;
+ }
+
+ /* Setup double virtual resolution for double buffering */
+ if (ioctl(fb->fd, FBIOPAN_DISPLAY, &fb_var) == -1) {
+ fprintf(stderr, "warning: FBIOPAN_DISPLAY not supported, "
+ "double buffering disabled\n");
+ } else {
+ if (fb_var.yres_virtual == fb_var.yres * 2) {
+ DBG("Virtual resolution already double");
+ fb->double_buffering = 1;
+ } else {
+ fb_var.yres_virtual = fb_var.yres * 2;
+ if (ioctl(fb->fd, FBIOPUT_VSCREENINFO, &fb_var) == -1) {
+ fprintf(stderr,
+ "warning: FBIOPUT_VSCREENINFO failed, "
+ "double buffering disabled\n");
+ } else {
+ if (ioctl(fb->fd, FBIOGET_FSCREENINFO, &fb_fix)
+ == -1) {
+ perror
+ (" Error getting the fixed framebuffer info");
+ goto fail;
+ } else {
+ DBG("Virtual resolution set to double");
+ fb->double_buffering = 1;
+ }
+ }
+ }
+ }
+
+ fb->real_width = fb->width = fb_var.xres;
+ fb->real_height = fb->height = fb_var.yres;
+ fb->bpp = fb_var.bits_per_pixel;
+ fb->stride = fb_fix.line_length;
+ fb->type = fb_fix.type;
+ fb->visual = fb_fix.visual;
+
+ fb->red_offset = fb_var.red.offset;
+ fb->red_length = fb_var.red.length;
+ fb->green_offset = fb_var.green.offset;
+ fb->green_length = fb_var.green.length;
+ fb->blue_offset = fb_var.blue.offset;
+ fb->blue_length = fb_var.blue.length;
+
+ if (fb->red_offset == 11 && fb->red_length == 5 &&
+ fb->green_offset == 5 && fb->green_length == 6 &&
+ fb->blue_offset == 0 && fb->blue_length == 5) {
+ fb->rgbmode = RGB565;
+ } else if (fb->red_offset == 0 && fb->red_length == 5 &&
+ fb->green_offset == 5 && fb->green_length == 6 &&
+ fb->blue_offset == 11 && fb->blue_length == 5) {
+ fb->rgbmode = BGR565;
+ } else if (fb->red_offset == 16 && fb->red_length == 8 &&
+ fb->green_offset == 8 && fb->green_length == 8 &&
+ fb->blue_offset == 0 && fb->blue_length == 8) {
+ fb->rgbmode = RGB888;
+ } else if (fb->red_offset == 0 && fb->red_length == 8 &&
+ fb->green_offset == 8 && fb->green_length == 8 &&
+ fb->blue_offset == 16 && fb->blue_length == 8) {
+ fb->rgbmode = BGR888;
+ } else {
+ fb->rgbmode = GENERIC;
+ }
+
+ DBG("width: %i, height: %i, bpp: %i, stride: %i",
+ fb->width, fb->height, fb->bpp, fb->stride);
+
+ fb->base = (char *)mmap((caddr_t) NULL,
+ fb_fix.smem_len,
+ PROT_READ | PROT_WRITE, MAP_SHARED, fb->fd, 0);
+
+ if (fb->base == (char *)-1) {
+ perror("Error cannot mmap framebuffer ");
+ goto fail;
+ }
+
+ off = (unsigned long)fb_fix.smem_start % (unsigned long)getpagesize();
+
+ fb->data = fb->base + off;
+
+ if (fb->double_buffering) {
+ /* fb_var is needed when flipping the buffers */
+ memcpy(&fb->fb_var, &fb_var, sizeof(struct fb_var_screeninfo));
+ if (fb->fb_var.yoffset == 0) {
+ printf("to back\n");
+ fb->fdata = fb->data;
+ fb->bdata = fb->data + fb->stride * fb->height;
+ } else {
+ printf("to front\n");
+ fb->fdata = fb->data + fb->stride * fb->height;
+ fb->bdata = fb->data;
+ }
+ } else {
+ fb->fdata = fb->data;
+ fb->bdata = fb->data;
+ }

#if 0
- /* FIXME: No support for 8pp as yet */
- if (visual == FB_VISUAL_PSEUDOCOLOR
- || visual == FB_VISUAL_STATIC_PSEUDOCOLOR)
- {
- static struct fb_cmap cmap;
-
- cmap.start = 0;
- cmap.len = 16;
- cmap.red = saved_red;
- cmap.green = saved_green;
- cmap.blue = saved_blue;
- cmap.transp = NULL;
-
- ioctl (fb, FBIOGETCMAP, &cmap);
- }
-
- if (!status)
- atexit (bogl_done);
- status = 2;
-#endif
+ /* FIXME: No support for 8pp as yet */
+ if (visual == FB_VISUAL_PSEUDOCOLOR
+ || visual == FB_VISUAL_STATIC_PSEUDOCOLOR) {
+ static struct fb_cmap cmap;
+
+ cmap.start = 0;
+ cmap.len = 16;
+ cmap.red = saved_red;
+ cmap.green = saved_green;
+ cmap.blue = saved_blue;
+ cmap.transp = NULL;
+
+ ioctl(fb, FBIOGETCMAP, &cmap);
+ }

- fb->angle = angle;
+ if (!status)
+ atexit(bogl_done);
+ status = 2;
+#endif

- switch (fb->angle)
- {
- case 270:
- case 90:
- fb->width = fb->real_height;
- fb->height = fb->real_width;
- break;
- case 180:
- case 0:
- default:
- break;
- }
+ fb->angle = angle;
+
+ switch (fb->angle) {
+ case 270:
+ case 90:
+ fb->width = fb->real_height;
+ fb->height = fb->real_width;
+ break;
+ case 180:
+ case 0:
+ default:
+ break;
+ }

- return fb;
+ return fb;

- fail:
+fail:

- if (fb)
- psplash_fb_destroy (fb);
+ if (fb)
+ psplash_fb_destroy(fb);

- return NULL;
+ return NULL;
}

#define OFFSET(fb,x,y) (((y) * (fb)->stride) + ((x) * ((fb)->bpp >> 3)))

static inline void
-psplash_fb_plot_pixel (PSplashFB *fb,
- int x,
- int y,
- uint8 red,
- uint8 green,
- uint8 blue)
+psplash_fb_plot_pixel(PSplashFB * fb,
+ int x, int y, uint8 red, uint8 green, uint8 blue)
{
- /* Always write to back data (bdata) which points to the right data with or
- * without double buffering support */
- int off;
-
- if (x < 0 || x > fb->width-1 || y < 0 || y > fb->height-1)
- return;
-
- switch (fb->angle)
- {
- case 270:
- off = OFFSET (fb, fb->height - y - 1, x);
- break;
- case 180:
- off = OFFSET (fb, fb->width - x - 1, fb->height - y - 1);
- break;
- case 90:
- off = OFFSET (fb, y, fb->width - x - 1);
- break;
- case 0:
- default:
- off = OFFSET (fb, x, y);
- break;
- }
-
- if (fb->rgbmode == RGB565 || fb->rgbmode == RGB888) {
- switch (fb->bpp)
- {
- case 24:
+ /* Always write to back data (bdata) which points to the right data with or
+ * without double buffering support */
+ int off;
+
+ if (x < 0 || x > fb->width - 1 || y < 0 || y > fb->height - 1)
+ return;
+
+ switch (fb->angle) {
+ case 270:
+ off = OFFSET(fb, fb->height - y - 1, x);
+ break;
+ case 180:
+ off = OFFSET(fb, fb->width - x - 1, fb->height - y - 1);
+ break;
+ case 90:
+ off = OFFSET(fb, y, fb->width - x - 1);
+ break;
+ case 0:
+ default:
+ off = OFFSET(fb, x, y);
+ break;
+ }
+
+ if (fb->rgbmode == RGB565 || fb->rgbmode == RGB888) {
+ switch (fb->bpp) {
+ case 24:
#if __BYTE_ORDER == __BIG_ENDIAN
- *(fb->bdata + off + 0) = red;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = blue;
+ *(fb->bdata + off + 0) = red;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = blue;
#else
- *(fb->bdata + off + 0) = blue;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = red;
+ *(fb->bdata + off + 0) = blue;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = red;
#endif
- break;
- case 32:
- *(volatile uint32_t *) (fb->bdata + off)
- = (red << 16) | (green << 8) | (blue);
- break;
-
- case 16:
- *(volatile uint16_t *) (fb->bdata + off)
- = ((red >> 3) << 11) | ((green >> 2) << 5) | (blue >> 3);
- break;
- default:
- /* depth not supported yet */
- break;
- }
- } else if (fb->rgbmode == BGR565 || fb->rgbmode == BGR888) {
- switch (fb->bpp)
- {
- case 24:
+ break;
+ case 32:
+ *(volatile uint32_t *)(fb->bdata + off)
+ = (red << 16) | (green << 8) | (blue);
+ break;
+
+ case 16:
+ *(volatile uint16_t *)(fb->bdata + off)
+ = ((red >> 3) << 11) | ((green >> 2) << 5) | (blue
+ >> 3);
+ break;
+ default:
+ /* depth not supported yet */
+ break;
+ }
+ } else if (fb->rgbmode == BGR565 || fb->rgbmode == BGR888) {
+ switch (fb->bpp) {
+ case 24:
#if __BYTE_ORDER == __BIG_ENDIAN
- *(fb->bdata + off + 0) = blue;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = red;
+ *(fb->bdata + off + 0) = blue;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = red;
#else
- *(fb->bdata + off + 0) = red;
- *(fb->bdata + off + 1) = green;
- *(fb->bdata + off + 2) = blue;
+ *(fb->bdata + off + 0) = red;
+ *(fb->bdata + off + 1) = green;
+ *(fb->bdata + off + 2) = blue;
#endif
- break;
- case 32:
- *(volatile uint32_t *) (fb->bdata + off)
- = (blue << 16) | (green << 8) | (red);
- break;
- case 16:
- *(volatile uint16_t *) (fb->bdata + off)
- = ((blue >> 3) << 11) | ((green >> 2) << 5) | (red >> 3);
- break;
- default:
- /* depth not supported yet */
- break;
- }
- } else {
- switch (fb->bpp)
- {
- case 32:
- *(volatile uint32_t *) (fb->bdata + off)
- = ((red >> (8 - fb->red_length)) << fb->red_offset)
- | ((green >> (8 - fb->green_length)) << fb->green_offset)
- | ((blue >> (8 - fb->blue_length)) << fb->blue_offset);
- break;
- case 16:
- *(volatile uint16_t *) (fb->bdata + off)
- = ((red >> (8 - fb->red_length)) << fb->red_offset)
- | ((green >> (8 - fb->green_length)) << fb->green_offset)
- | ((blue >> (8 - fb->blue_length)) << fb->blue_offset);
- break;
- default:
- /* depth not supported yet */
- break;
- }
- }
+ break;
+ case 32:
+ *(volatile uint32_t *)(fb->bdata + off)
+ = (blue << 16) | (green << 8) | (red);
+ break;
+ case 16:
+ *(volatile uint16_t *)(fb->bdata + off)
+ = ((blue >> 3) << 11) | ((green >> 2) << 5) | (red
+ >>
+ 3);
+ break;
+ default:
+ /* depth not supported yet */
+ break;
+ }
+ } else {
+ switch (fb->bpp) {
+ case 32:
+ *(volatile uint32_t *)(fb->bdata + off)
+ = ((red >> (8 - fb->red_length)) << fb->red_offset)
+ | ((green >> (8 - fb->green_length)) << fb->
+ green_offset)
+ | ((blue >> (8 - fb->blue_length)) << fb->
+ blue_offset);
+ break;
+ case 16:
+ *(volatile uint16_t *)(fb->bdata + off)
+ = ((red >> (8 - fb->red_length)) << fb->red_offset)
+ | ((green >> (8 - fb->green_length)) << fb->
+ green_offset)
+ | ((blue >> (8 - fb->blue_length)) << fb->
+ blue_offset);
+ break;
+ default:
+ /* depth not supported yet */
+ break;
+ }
+ }
}

void
-psplash_fb_draw_rect (PSplashFB *fb,
- int x,
- int y,
- int width,
- int height,
- uint8 red,
- uint8 green,
- uint8 blue)
+psplash_fb_draw_rect(PSplashFB * fb,
+ int x,
+ int y,
+ int width, int height, uint8 red, uint8 green, uint8 blue)
{
- int dx, dy;
+ int dx, dy;

- for (dy=0; dy < height; dy++)
- for (dx=0; dx < width; dx++)
- psplash_fb_plot_pixel (fb, x+dx, y+dy, red, green, blue);
+ for (dy = 0; dy < height; dy++)
+ for (dx = 0; dx < width; dx++)
+ psplash_fb_plot_pixel(fb, x + dx, y + dy, red, green,
+ blue);
}

void
-psplash_fb_draw_image (PSplashFB *fb,
- int x,
- int y,
- int img_width,
- int img_height,
- int img_bytes_per_pixel,
- int img_rowstride,
- uint8 *rle_data)
+psplash_fb_draw_image(PSplashFB * fb,
+ int x,
+ int y,
+ int img_width,
+ int img_height,
+ int img_bytes_per_pixel,
+ int img_rowstride, uint8 * rle_data)
{
- uint8 *p = rle_data;
- int dx = 0, dy = 0, total_len;
- unsigned int len;
-
- total_len = img_rowstride * img_height;
-
- /* FIXME: Optimise, check for over runs ... */
- while ((p - rle_data) < total_len)
- {
- len = *(p++);
-
- if (len & 128)
- {
- len -= 128;
-
- if (len == 0) break;
-
- do
- {
- if ((img_bytes_per_pixel < 4 || *(p+3)) && dx < img_width)
- psplash_fb_plot_pixel (fb, x+dx, y+dy, *(p), *(p+1), *(p+2));
- if (++dx * img_bytes_per_pixel >= img_rowstride) { dx=0; dy++; }
- }
- while (--len);
-
- p += img_bytes_per_pixel;
+ uint8 *p = rle_data;
+ int dx = 0, dy = 0, total_len;
+ unsigned int len;
+
+ total_len = img_rowstride * img_height;
+
+ /* FIXME: Optimise, check for over runs ... */
+ while ((p - rle_data) < total_len) {
+ len = *(p++);
+
+ if (len & 128) {
+ len -= 128;
+
+ if (len == 0)
+ break;
+
+ do {
+ if ((img_bytes_per_pixel < 4 || *(p + 3))
+ && dx < img_width)
+ psplash_fb_plot_pixel(fb, x + dx,
+ y + dy, *(p),
+ *(p + 1),
+ *(p + 2));
+ if (++dx * img_bytes_per_pixel >= img_rowstride) {
+ dx = 0;
+ dy++;
+ }
+ }
+ while (--len);
+
+ p += img_bytes_per_pixel;
+ } else {
+ if (len == 0)
+ break;
+
+ do {
+ if ((img_bytes_per_pixel < 4 || *(p + 3))
+ && dx < img_width)
+ psplash_fb_plot_pixel(fb, x + dx,
+ y + dy, *(p),
+ *(p + 1),
+ *(p + 2));
+ if (++dx * img_bytes_per_pixel >= img_rowstride) {
+ dx = 0;
+ dy++;
+ }
+ p += img_bytes_per_pixel;
+ }
+ while (--len && (p - rle_data) < total_len);
+ }
}
- else
- {
- if (len == 0) break;
-
- do
- {
- if ((img_bytes_per_pixel < 4 || *(p+3)) && dx < img_width)
- psplash_fb_plot_pixel (fb, x+dx, y+dy, *(p), *(p+1), *(p+2));
- if (++dx * img_bytes_per_pixel >= img_rowstride) { dx=0; dy++; }
- p += img_bytes_per_pixel;
- }
- while (--len && (p - rle_data) < total_len);
- }
- }
}

/* Font rendering code based on BOGL by Ben Pfaff */

static int
-psplash_font_glyph (const PSplashFont *font, wchar_t wc, u_int32_t **bitmap)
+psplash_font_glyph(const PSplashFont * font, wchar_t wc, u_int32_t ** bitmap)
{
- int mask = font->index_mask;
- int i;
-
- for (;;)
- {
- for (i = font->offset[wc & mask]; font->index[i]; i += 2)
- {
- if ((wchar_t)(font->index[i] & ~mask) == (wc & ~mask))
- {
- if (bitmap != NULL)
- *bitmap = &font->content[font->index[i+1]];
- return font->index[i] & mask;
- }
+ int mask = font->index_mask;
+ int i;
+
+ for (;;) {
+ for (i = font->offset[wc & mask]; font->index[i]; i += 2) {
+ if ((wchar_t) (font->index[i] & ~mask) == (wc & ~mask)) {
+ if (bitmap != NULL)
+ *bitmap =
+ &font->content[font->index[i + 1]];
+ return font->index[i] & mask;
+ }
+ }
}
- }
- return 0;
+ return 0;
}

void
-psplash_fb_text_size (int *width,
- int *height,
- const PSplashFont *font,
- const char *text)
+psplash_fb_text_size(int *width,
+ int *height, const PSplashFont * font, const char *text)
{
- char *c = (char*)text;
- wchar_t wc;
- int k, n, w, h, mw;
-
- n = strlen (text);
- mw = h = w = 0;
-
- mbtowc (0, 0, 0);
- for (; (k = mbtowc (&wc, c, n)) > 0; c += k, n -= k)
- {
- if (*c == '\n')
- {
- if (w > mw)
- mw = w;
- w = 0;
- h += font->height;
- continue;
+ char *c = (char *)text;
+ wchar_t wc;
+ int k, n, w, h, mw;
+
+ n = strlen(text);
+ mw = h = w = 0;
+
+ mbtowc(0, 0, 0);
+ for (; (k = mbtowc(&wc, c, n)) > 0; c += k, n -= k) {
+ if (*c == '\n') {
+ if (w > mw)
+ mw = w;
+ w = 0;
+ h += font->height;
+ continue;
+ }
+
+ w += psplash_font_glyph(font, wc, NULL);
}

- w += psplash_font_glyph (font, wc, NULL);
- }
-
- *width = (w > mw) ? w : mw;
- *height = (h == 0) ? font->height : h;
+ *width = (w > mw) ? w : mw;
+ *height = (h == 0) ? font->height : h;
}

void
-psplash_fb_draw_text (PSplashFB *fb,
- int x,
- int y,
- uint8 red,
- uint8 green,
- uint8 blue,
- const PSplashFont *font,
- const char *text)
+psplash_fb_draw_text(PSplashFB * fb,
+ int x,
+ int y,
+ uint8 red,
+ uint8 green,
+ uint8 blue, const PSplashFont * font, const char *text)
{
- int h, w, k, n, cx, cy, dx, dy;
- char *c = (char*)text;
- wchar_t wc;
-
- n = strlen (text);
- h = font->height;
- dx = dy = 0;
-
- mbtowc (0, 0, 0);
- for (; (k = mbtowc (&wc, c, n)) > 0; c += k, n -= k)
- {
- u_int32_t *glyph = NULL;
-
- if (*c == '\n')
- {
- dy += h;
- dx = 0;
- continue;
+ int h, w, k, n, cx, cy, dx, dy;
+ char *c = (char *)text;
+ wchar_t wc;
+
+ n = strlen(text);
+ h = font->height;
+ dx = dy = 0;
+
+ mbtowc(0, 0, 0);
+ for (; (k = mbtowc(&wc, c, n)) > 0; c += k, n -= k) {
+ u_int32_t *glyph = NULL;
+
+ if (*c == '\n') {
+ dy += h;
+ dx = 0;
+ continue;
+ }
+
+ w = psplash_font_glyph(font, wc, &glyph);
+
+ if (glyph == NULL)
+ continue;
+
+ for (cy = 0; cy < h; cy++) {
+ u_int32_t g = *glyph++;
+
+ for (cx = 0; cx < w; cx++) {
+ if (g & 0x80000000)
+ psplash_fb_plot_pixel(fb, x + dx + cx,
+ y + dy + cy, red,
+ green, blue);
+ g <<= 1;
+ }
+ }
+
+ dx += w;
}
-
- w = psplash_font_glyph (font, wc, &glyph);
-
- if (glyph == NULL)
- continue;
-
- for (cy = 0; cy < h; cy++)
- {
- u_int32_t g = *glyph++;
-
- for (cx = 0; cx < w; cx++)
- {
- if (g & 0x80000000)
- psplash_fb_plot_pixel (fb, x+dx+cx, y+dy+cy,
- red, green, blue);
- g <<= 1;
- }
- }
-
- dx += w;
- }
}
-
diff --git a/psplash-fb.h b/psplash-fb.h
index 16e2b20..a52306b 100644
--- a/psplash-fb.h
+++ b/psplash-fb.h
@@ -11,87 +11,73 @@
#define _HAVE_PSPLASH_FB_H

enum RGBMode {
- RGB565,
- BGR565,
- RGB888,
- BGR888,
- GENERIC,
+ RGB565,
+ BGR565,
+ RGB888,
+ BGR888,
+ GENERIC,
};

-typedef struct PSplashFB
-{
- int fd;
- struct fb_var_screeninfo fb_var;
- struct termios save_termios;
- int type;
- int visual;
- int width, height;
- int bpp;
- int stride;
- char *data;
- char *base;
+typedef struct PSplashFB {
+ int fd;
+ struct fb_var_screeninfo fb_var;
+ struct termios save_termios;
+ int type;
+ int visual;
+ int width, height;
+ int bpp;
+ int stride;
+ char *data;
+ char *base;

- /* Support for double buffering */
- int double_buffering;
- char *bdata;
- char *fdata;
+ /* Support for double buffering */
+ int double_buffering;
+ char *bdata;
+ char *fdata;

- int angle, fbdev_id;
- int real_width, real_height;
+ int angle, fbdev_id;
+ int real_width, real_height;

- enum RGBMode rgbmode;
- int red_offset;
- int red_length;
- int green_offset;
- int green_length;
- int blue_offset;
- int blue_length;
-}
-PSplashFB;
+ enum RGBMode rgbmode;
+ int red_offset;
+ int red_length;
+ int green_offset;
+ int green_length;
+ int blue_offset;
+ int blue_length;
+} PSplashFB;

-void
-psplash_fb_destroy (PSplashFB *fb);
+void psplash_fb_destroy(PSplashFB * fb);

-PSplashFB*
-psplash_fb_new (int angle, int fbdev_id);
+PSplashFB *psplash_fb_new(int angle, int fbdev_id);

void
-psplash_fb_draw_rect (PSplashFB *fb,
- int x,
- int y,
- int width,
- int height,
- uint8 red,
- uint8 green,
- uint8 blue);
+psplash_fb_draw_rect(PSplashFB * fb,
+ int x,
+ int y,
+ int width, int height, uint8 red, uint8 green, uint8 blue);

void
-psplash_fb_draw_image (PSplashFB *fb,
- int x,
- int y,
- int img_width,
- int img_height,
- int img_bytes_pre_pixel,
- int img_rowstride,
- uint8 *rle_data);
+psplash_fb_draw_image(PSplashFB * fb,
+ int x,
+ int y,
+ int img_width,
+ int img_height,
+ int img_bytes_pre_pixel,
+ int img_rowstride, uint8 * rle_data);

void
-psplash_fb_text_size (int *width,
- int *height,
- const PSplashFont *font,
- const char *text);
+psplash_fb_text_size(int *width,
+ int *height, const PSplashFont * font, const char *text);

void
-psplash_fb_draw_text (PSplashFB *fb,
- int x,
- int y,
- uint8 red,
- uint8 green,
- uint8 blue,
- const PSplashFont *font,
- const char *text);
+psplash_fb_draw_text(PSplashFB * fb,
+ int x,
+ int y,
+ uint8 red,
+ uint8 green,
+ uint8 blue, const PSplashFont * font, const char *text);

-void
-psplash_fb_flip(PSplashFB *fb, int sync);
+void psplash_fb_flip(PSplashFB * fb, int sync);

#endif
diff --git a/psplash-systemd.c b/psplash-systemd.c
index 840bd4e..87e0f4a 100644
--- a/psplash-systemd.c
+++ b/psplash-systemd.c
@@ -33,7 +33,7 @@ int get_progress(void)
char buffer[20];
int len;

- /* Connect to the system bus */
+ /* Connect to the system bus */
r = sd_bus_new(&bus);
if (r < 0)
goto finish;
@@ -44,19 +44,20 @@ int get_progress(void)

r = sd_bus_start(bus);
if (r < 0) {
- fprintf(stderr, "Failed to connect to systemd private bus: %s\n", strerror(-r));
+ fprintf(stderr,
+ "Failed to connect to systemd private bus: %s\n",
+ strerror(-r));
goto finish;
- }
-
- /* Issue the method call and store the respons message in m */
- r = sd_bus_get_property_trivial(bus,
- "org.freedesktop.systemd1", /* service to contact */
- "/org/freedesktop/systemd1", /* object path */
- "org.freedesktop.systemd1.Manager", /* interface name */
- "Progress", /* method name */
- &error, /* object to return error in */
- 'd', /* return message on success */
- &progress); /* value */
+ }
+
+ /* Issue the method call and store the respons message in m */
+ r = sd_bus_get_property_trivial(bus, "org.freedesktop.systemd1", /* service to contact */
+ "/org/freedesktop/systemd1", /* object path */
+ "org.freedesktop.systemd1.Manager", /* interface name */
+ "Progress", /* method name */
+ &error, /* object to return error in */
+ 'd', /* return message on success */
+ &progress); /* value */
if (r < 0) {
fprintf(stderr, "Failed to get progress: %s\n", error.message);
goto finish;
@@ -70,7 +71,8 @@ int get_progress(void)
if (current_progress < progress)
current_progress = progress;

- len = snprintf(buffer, 20, "PROGRESS %d", (int)(current_progress * 100));
+ len =
+ snprintf(buffer, 20, "PROGRESS %d", (int)(current_progress * 100));
write(pipe_fd, buffer, len + 1);

if (progress == 1.0) {
@@ -86,9 +88,7 @@ finish:
return r;
}

-int psplash_handler(sd_event_source *s,
- uint64_t usec,
- void *userdata)
+int psplash_handler(sd_event_source * s, uint64_t usec, void *userdata)
{
sd_event *event = userdata;
int r;
@@ -125,7 +125,7 @@ int main()

chdir(rundir);

- if ((pipe_fd = open (PSPLASH_FIFO,O_WRONLY|O_NONBLOCK)) == -1) {
+ if ((pipe_fd = open(PSPLASH_FIFO, O_WRONLY | O_NONBLOCK)) == -1) {
fprintf(stderr, "Error unable to open fifo");
exit(EXIT_FAILURE);
}
@@ -135,8 +135,7 @@ int main()
goto finish;

if (sigemptyset(&ss) < 0 ||
- sigaddset(&ss, SIGTERM) < 0 ||
- sigaddset(&ss, SIGINT) < 0) {
+ sigaddset(&ss, SIGTERM) < 0 || sigaddset(&ss, SIGINT) < 0) {
r = -errno;
goto finish;
}
diff --git a/psplash-write.c b/psplash-write.c
index a12467a..45aa9fc 100644
--- a/psplash-write.c
+++ b/psplash-write.c
@@ -19,34 +19,31 @@
#include <errno.h>
#include "psplash.h"

-int main(int argc, char **argv)
+int main(int argc, char **argv)
{
- char *rundir;
- int pipe_fd;
-
- rundir = getenv("PSPLASH_FIFO_DIR");
-
- if (!rundir)
- rundir = "/run";
-
- if (argc!=2)
- {
- fprintf(stderr, "Wrong number of arguments\n");
- exit(-1);
- }
-
- chdir(rundir);
-
- if ((pipe_fd = open (PSPLASH_FIFO,O_WRONLY|O_NONBLOCK)) == -1)
- {
- /* Silently error out instead of covering the boot process in
- errors when psplash has exitted due to a VC switch */
- /* perror("Error unable to open fifo"); */
- exit (-1);
- }
-
- write(pipe_fd, argv[1], strlen(argv[1])+1);
-
- return 0;
-}
+ char *rundir;
+ int pipe_fd;
+
+ rundir = getenv("PSPLASH_FIFO_DIR");
+
+ if (!rundir)
+ rundir = "/run";
+
+ if (argc != 2) {
+ fprintf(stderr, "Wrong number of arguments\n");
+ exit(-1);
+ }

+ chdir(rundir);
+
+ if ((pipe_fd = open(PSPLASH_FIFO, O_WRONLY | O_NONBLOCK)) == -1) {
+ /* Silently error out instead of covering the boot process in
+ errors when psplash has exitted due to a VC switch */
+ /* perror("Error unable to open fifo"); */
+ exit(-1);
+ }
+
+ write(pipe_fd, argv[1], strlen(argv[1]) + 1);
+
+ return 0;
+}
diff --git a/psplash.c b/psplash.c
index ee1af6b..986670b 100644
--- a/psplash.c
+++ b/psplash.c
@@ -27,329 +27,302 @@
* (fb)->height / PSPLASH_IMG_SPLIT_DENOMINATOR) \
)

-void
-psplash_exit (int UNUSED(signum))
+void psplash_exit(int UNUSED(signum))
{
- DBG("mark");
+ DBG("mark");

- psplash_console_reset ();
+ psplash_console_reset();
}

-void
-psplash_draw_msg (PSplashFB *fb, const char *msg)
+void psplash_draw_msg(PSplashFB * fb, const char *msg)
{
- int w, h;
+ int w, h;

- psplash_fb_text_size (&w, &h, &FONT_DEF, msg);
+ psplash_fb_text_size(&w, &h, &FONT_DEF, msg);

- DBG("displaying '%s' %ix%i\n", msg, w, h);
+ DBG("displaying '%s' %ix%i\n", msg, w, h);

- /* Clear */
+ /* Clear */

- psplash_fb_draw_rect (fb,
- 0,
- SPLIT_LINE_POS(fb) - h,
- fb->width,
- h,
- PSPLASH_BACKGROUND_COLOR);
+ psplash_fb_draw_rect(fb,
+ 0,
+ SPLIT_LINE_POS(fb) - h,
+ fb->width, h, PSPLASH_BACKGROUND_COLOR);

- psplash_fb_draw_text (fb,
- (fb->width-w)/2,
- SPLIT_LINE_POS(fb) - h,
- PSPLASH_TEXT_COLOR,
- &FONT_DEF,
- msg);
+ psplash_fb_draw_text(fb,
+ (fb->width - w) / 2,
+ SPLIT_LINE_POS(fb) - h,
+ PSPLASH_TEXT_COLOR, &FONT_DEF, msg);
}

#ifdef PSPLASH_SHOW_PROGRESS_BAR
-void
-psplash_draw_progress (PSplashFB *fb, int value)
+void psplash_draw_progress(PSplashFB * fb, int value)
{
- int x, y, width, height, barwidth;
-
- /* 4 pix border */
- x = ((fb->width - BAR_IMG_WIDTH)/2) + 4 ;
- y = SPLIT_LINE_POS(fb) + 4;
- width = BAR_IMG_WIDTH - 8;
- height = BAR_IMG_HEIGHT - 8;
-
- if (value > 0)
- {
- barwidth = (CLAMP(value,0,100) * width) / 100;
- psplash_fb_draw_rect (fb, x + barwidth, y,
- width - barwidth, height,
- PSPLASH_BAR_BACKGROUND_COLOR);
- psplash_fb_draw_rect (fb, x, y, barwidth,
- height, PSPLASH_BAR_COLOR);
- }
- else
- {
- barwidth = (CLAMP(-value,0,100) * width) / 100;
- psplash_fb_draw_rect (fb, x, y,
- width - barwidth, height,
- PSPLASH_BAR_BACKGROUND_COLOR);
- psplash_fb_draw_rect (fb, x + width - barwidth,
- y, barwidth, height,
- PSPLASH_BAR_COLOR);
- }
-
- DBG("value: %i, width: %i, barwidth :%i\n", value,
- width, barwidth);
+ int x, y, width, height, barwidth;
+
+ /* 4 pix border */
+ x = ((fb->width - BAR_IMG_WIDTH) / 2) + 4;
+ y = SPLIT_LINE_POS(fb) + 4;
+ width = BAR_IMG_WIDTH - 8;
+ height = BAR_IMG_HEIGHT - 8;
+
+ if (value > 0) {
+ barwidth = (CLAMP(value, 0, 100) * width) / 100;
+ psplash_fb_draw_rect(fb, x + barwidth, y,
+ width - barwidth, height,
+ PSPLASH_BAR_BACKGROUND_COLOR);
+ psplash_fb_draw_rect(fb, x, y, barwidth,
+ height, PSPLASH_BAR_COLOR);
+ } else {
+ barwidth = (CLAMP(-value, 0, 100) * width) / 100;
+ psplash_fb_draw_rect(fb, x, y,
+ width - barwidth, height,
+ PSPLASH_BAR_BACKGROUND_COLOR);
+ psplash_fb_draw_rect(fb, x + width - barwidth,
+ y, barwidth, height, PSPLASH_BAR_COLOR);
+ }
+
+ DBG("value: %i, width: %i, barwidth :%i\n", value, width, barwidth);
}
#endif /* PSPLASH_SHOW_PROGRESS_BAR */

-static int
-parse_command (PSplashFB *fb, char *string)
+static int parse_command(PSplashFB * fb, char *string)
{
- char *command;
-
- DBG("got cmd %s", string);
-
- if (strcmp(string,"QUIT") == 0)
- return 1;
-
- command = strtok(string," ");
-
- if (!strcmp(command,"MSG"))
- {
- char *arg = strtok(NULL, "\0");
-
- if (arg)
- psplash_draw_msg (fb, arg);
- }
- #ifdef PSPLASH_SHOW_PROGRESS_BAR
- else if (!strcmp(command,"PROGRESS"))
- {
- char *arg = strtok(NULL, "\0");
-
- if (arg)
- psplash_draw_progress (fb, atoi(arg));
- }
+ char *command;
+
+ DBG("got cmd %s", string);
+
+ if (strcmp(string, "QUIT") == 0)
+ return 1;
+
+ command = strtok(string, " ");
+
+ if (!strcmp(command, "MSG")) {
+ char *arg = strtok(NULL, "\0");
+
+ if (arg)
+ psplash_draw_msg(fb, arg);
+ }
+#ifdef PSPLASH_SHOW_PROGRESS_BAR
+ else if (!strcmp(command, "PROGRESS")) {
+ char *arg = strtok(NULL, "\0");
+
+ if (arg)
+ psplash_draw_progress(fb, atoi(arg));
+ }
#endif
- else if (!strcmp(command,"QUIT"))
- {
- return 1;
- }
+ else if (!strcmp(command, "QUIT")) {
+ return 1;
+ }

- psplash_fb_flip(fb, 0);
- return 0;
+ psplash_fb_flip(fb, 0);
+ return 0;
}

-void
-psplash_main (PSplashFB *fb, int pipe_fd, int timeout)
+void psplash_main(PSplashFB * fb, int pipe_fd, int timeout)
{
- int err;
- ssize_t length = 0;
- fd_set descriptors;
- struct timeval tv;
- char *end;
- char *cmd;
- char command[2048];
-
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&descriptors);
- FD_SET(pipe_fd, &descriptors);
-
- end = command;
-
- while (1)
- {
- if (timeout != 0)
- err = select(pipe_fd+1, &descriptors, NULL, NULL, &tv);
- else
- err = select(pipe_fd+1, &descriptors, NULL, NULL, NULL);
-
- if (err <= 0)
- {
- /*
- if (errno == EINTR)
- continue;
- */
- return;
- }
-
- length += read (pipe_fd, end, sizeof(command) - (end - command));
-
- if (length == 0)
- {
- /* Reopen to see if there's anything more for us */
- close(pipe_fd);
- pipe_fd = open(PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
- goto out;
+ int err;
+ ssize_t length = 0;
+ fd_set descriptors;
+ struct timeval tv;
+ char *end;
+ char *cmd;
+ char command[2048];
+
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&descriptors);
+ FD_SET(pipe_fd, &descriptors);
+
+ end = command;
+
+ while (1) {
+ if (timeout != 0)
+ err =
+ select(pipe_fd + 1, &descriptors, NULL, NULL, &tv);
+ else
+ err =
+ select(pipe_fd + 1, &descriptors, NULL, NULL, NULL);
+
+ if (err <= 0) {
+ /*
+ if (errno == EINTR)
+ continue;
+ */
+ return;
+ }
+
+ length += read(pipe_fd, end, sizeof(command) - (end - command));
+
+ if (length == 0) {
+ /* Reopen to see if there's anything more for us */
+ close(pipe_fd);
+ pipe_fd = open(PSPLASH_FIFO, O_RDONLY | O_NONBLOCK);
+ goto out;
+ }
+
+ cmd = command;
+ do {
+ int cmdlen;
+ char *cmdend = memchr(cmd, '\n', length);
+
+ /* Replace newlines with string termination */
+ if (cmdend)
+ *cmdend = '\0';
+
+ cmdlen = strnlen(cmd, length);
+
+ /* Skip string terminations */
+ if (!cmdlen && length) {
+ length--;
+ cmd++;
+ continue;
+ }
+
+ if (parse_command(fb, cmd))
+ return;
+
+ length -= cmdlen;
+ cmd += cmdlen;
+ } while (length);
+
+out:
+ end = &command[length];
+
+ tv.tv_sec = timeout;
+ tv.tv_usec = 0;
+
+ FD_ZERO(&descriptors);
+ FD_SET(pipe_fd, &descriptors);
}

- cmd = command;
- do {
- int cmdlen;
- char *cmdend = memchr(cmd, '\n', length);
-
- /* Replace newlines with string termination */
- if (cmdend)
- *cmdend = '\0';
-
- cmdlen = strnlen(cmd, length);
-
- /* Skip string terminations */
- if (!cmdlen && length)
- {
- length--;
- cmd++;
- continue;
- }
-
- if (parse_command(fb, cmd))
- return;
-
- length -= cmdlen;
- cmd += cmdlen;
- } while (length);
-
- out:
- end = &command[length];
-
- tv.tv_sec = timeout;
- tv.tv_usec = 0;
-
- FD_ZERO(&descriptors);
- FD_SET(pipe_fd,&descriptors);
- }
-
- return;
+ return;
}

-int
-main (int argc, char** argv)
+int main(int argc, char **argv)
{
- char *rundir;
- int pipe_fd, i = 0, angle = 0, fbdev_id = 0, ret = 0;
- PSplashFB *fb;
- bool disable_console_switch = FALSE;
-
- signal(SIGHUP, psplash_exit);
- signal(SIGINT, psplash_exit);
- signal(SIGQUIT, psplash_exit);
-
- while (++i < argc) {
- if (!strcmp(argv[i],"-n") || !strcmp(argv[i],"--no-console-switch"))
- {
- disable_console_switch = TRUE;
- continue;
- }
-
- if (!strcmp(argv[i],"-a") || !strcmp(argv[i],"--angle"))
- {
- if (++i >= argc) goto fail;
- angle = atoi(argv[i]);
- continue;
- }
-
- if (!strcmp(argv[i],"-f") || !strcmp(argv[i],"--fbdev"))
- {
- if (++i >= argc) goto fail;
- fbdev_id = atoi(argv[i]);
- continue;
- }
-
- fail:
- fprintf(stderr,
- "Usage: %s [-n|--no-console-switch][-a|--angle <0|90|180|270>][-f|--fbdev <0..9>]\n",
- argv[0]);
- exit(-1);
- }
-
- rundir = getenv("PSPLASH_FIFO_DIR");
-
- if (!rundir)
- rundir = "/run";
-
- chdir(rundir);
-
- if (mkfifo(PSPLASH_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP))
- {
- if (errno!=EEXIST)
- {
- perror("mkfifo");
- exit(-1);
- }
- }
-
- pipe_fd = open (PSPLASH_FIFO,O_RDONLY|O_NONBLOCK);
-
- if (pipe_fd==-1)
- {
- perror("pipe open");
- exit(-2);
- }
-
- if (!disable_console_switch)
- psplash_console_switch ();
-
- if ((fb = psplash_fb_new(angle,fbdev_id)) == NULL)
- {
- ret = -1;
- goto fb_fail;
- }
+ char *rundir;
+ int pipe_fd, i = 0, angle = 0, fbdev_id = 0, ret = 0;
+ PSplashFB *fb;
+ bool disable_console_switch = FALSE;
+
+ signal(SIGHUP, psplash_exit);
+ signal(SIGINT, psplash_exit);
+ signal(SIGQUIT, psplash_exit);
+
+ while (++i < argc) {
+ if (!strcmp(argv[i], "-n")
+ || !strcmp(argv[i], "--no-console-switch")) {
+ disable_console_switch = TRUE;
+ continue;
+ }
+
+ if (!strcmp(argv[i], "-a") || !strcmp(argv[i], "--angle")) {
+ if (++i >= argc)
+ goto fail;
+ angle = atoi(argv[i]);
+ continue;
+ }
+
+ if (!strcmp(argv[i], "-f") || !strcmp(argv[i], "--fbdev")) {
+ if (++i >= argc)
+ goto fail;
+ fbdev_id = atoi(argv[i]);
+ continue;
+ }
+
+fail:
+ fprintf(stderr,
+ "Usage: %s [-n|--no-console-switch][-a|--angle <0|90|180|270>][-f|--fbdev <0..9>]\n",
+ argv[0]);
+ exit(-1);
+ }
+
+ rundir = getenv("PSPLASH_FIFO_DIR");
+
+ if (!rundir)
+ rundir = "/run";
+
+ chdir(rundir);
+
+ if (mkfifo(PSPLASH_FIFO, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) {
+ if (errno != EEXIST) {
+ perror("mkfifo");
+ exit(-1);
+ }
+ }
+
+ pipe_fd = open(PSPLASH_FIFO, O_RDONLY | O_NONBLOCK);
+
+ if (pipe_fd == -1) {
+ perror("pipe open");
+ exit(-2);
+ }
+
+ if (!disable_console_switch)
+ psplash_console_switch();

+ if ((fb = psplash_fb_new(angle, fbdev_id)) == NULL) {
+ ret = -1;
+ goto fb_fail;
+ }
#ifdef HAVE_SYSTEMD
- sd_notify(0, "READY=1");
+ sd_notify(0, "READY=1");
#endif

- /* Clear the background with #ecece1 */
- psplash_fb_draw_rect (fb, 0, 0, fb->width, fb->height,
- PSPLASH_BACKGROUND_COLOR);
+ /* Clear the background with #ecece1 */
+ psplash_fb_draw_rect(fb, 0, 0, fb->width, fb->height,
+ PSPLASH_BACKGROUND_COLOR);

- /* Draw the Poky logo */
- psplash_fb_draw_image (fb,
- (fb->width - POKY_IMG_WIDTH)/2,
+ /* Draw the Poky logo */
+ psplash_fb_draw_image(fb, (fb->width - POKY_IMG_WIDTH) / 2,
#if PSPLASH_IMG_FULLSCREEN
- (fb->height - POKY_IMG_HEIGHT)/2,
+ (fb->height - POKY_IMG_HEIGHT) / 2,
#else
- (fb->height * PSPLASH_IMG_SPLIT_NUMERATOR
- / PSPLASH_IMG_SPLIT_DENOMINATOR - POKY_IMG_HEIGHT)/2,
+ (fb->height * PSPLASH_IMG_SPLIT_NUMERATOR
+ / PSPLASH_IMG_SPLIT_DENOMINATOR -
+ POKY_IMG_HEIGHT) / 2,
#endif
- POKY_IMG_WIDTH,
- POKY_IMG_HEIGHT,
- POKY_IMG_BYTES_PER_PIXEL,
- POKY_IMG_ROWSTRIDE,
- POKY_IMG_RLE_PIXEL_DATA);
+ POKY_IMG_WIDTH,
+ POKY_IMG_HEIGHT,
+ POKY_IMG_BYTES_PER_PIXEL,
+ POKY_IMG_ROWSTRIDE, POKY_IMG_RLE_PIXEL_DATA);

#ifdef PSPLASH_SHOW_PROGRESS_BAR
- /* Draw progress bar border */
- psplash_fb_draw_image (fb,
- (fb->width - BAR_IMG_WIDTH)/2,
- SPLIT_LINE_POS(fb),
- BAR_IMG_WIDTH,
- BAR_IMG_HEIGHT,
- BAR_IMG_BYTES_PER_PIXEL,
- BAR_IMG_ROWSTRIDE,
- BAR_IMG_RLE_PIXEL_DATA);
-
- psplash_draw_progress (fb, 0);
+ /* Draw progress bar border */
+ psplash_fb_draw_image(fb,
+ (fb->width - BAR_IMG_WIDTH) / 2,
+ SPLIT_LINE_POS(fb),
+ BAR_IMG_WIDTH,
+ BAR_IMG_HEIGHT,
+ BAR_IMG_BYTES_PER_PIXEL,
+ BAR_IMG_ROWSTRIDE, BAR_IMG_RLE_PIXEL_DATA);
+
+ psplash_draw_progress(fb, 0);
#endif

#ifdef PSPLASH_STARTUP_MSG
- psplash_draw_msg (fb, PSPLASH_STARTUP_MSG);
+ psplash_draw_msg(fb, PSPLASH_STARTUP_MSG);
#endif

- /* Scene set so let's flip the buffers. */
- /* The first time we also synchronize the buffers so we can build on an
- * existing scene. After the first scene is set in both buffers, only the
- * text and progress bar change which overwrite the specific areas with every
- * update.
- */
- psplash_fb_flip(fb, 1);
+ /* Scene set so let's flip the buffers. */
+ /* The first time we also synchronize the buffers so we can build on an
+ * existing scene. After the first scene is set in both buffers, only the
+ * text and progress bar change which overwrite the specific areas with every
+ * update.
+ */
+ psplash_fb_flip(fb, 1);

- psplash_main (fb, pipe_fd, 0);
+ psplash_main(fb, pipe_fd, 0);

- psplash_fb_destroy (fb);
+ psplash_fb_destroy(fb);

- fb_fail:
- unlink(PSPLASH_FIFO);
+fb_fail:
+ unlink(PSPLASH_FIFO);

- if (!disable_console_switch)
- psplash_console_reset ();
+ if (!disable_console_switch)
+ psplash_console_reset();

- return ret;
+ return ret;
}
diff --git a/psplash.h b/psplash.h
index 1c42ec7..8d0e57f 100644
--- a/psplash.h
+++ b/psplash.h
@@ -35,9 +35,9 @@
#include <termios.h>
#include <unistd.h>

-typedef uint8_t uint8;
+typedef uint8_t uint8;
typedef uint16_t uint16;
-typedef int bool;
+typedef int bool;

#ifndef FALSE
#define FALSE 0
@@ -62,22 +62,19 @@ typedef int bool;
#endif

#ifdef __GNUC__
-# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
+#define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))
#else
-# define UNUSED(x) UNUSED_ ## x
+#define UNUSED(x) UNUSED_ ## x
#endif

-typedef struct PSplashFont
-{
- char *name; /* Font name. */
- int height; /* Height in pixels. */
- int index_mask; /* ((1 << N) - 1). */
- int *offset; /* (1 << N) offsets into index. */
- int *index;
- u_int32_t *content;
-}
-PSplashFont;
-
+typedef struct PSplashFont {
+ char *name; /* Font name. */
+ int height; /* Height in pixels. */
+ int index_mask; /* ((1 << N) - 1). */
+ int *offset; /* (1 << N) offsets into index. */
+ int *index;
+ u_int32_t *content;
+} PSplashFont;

#include "psplash-fb.h"
#include "psplash-console.h"
diff --git a/radeon-font.h b/radeon-font.h
index ca70cba..54f8e1b 100644
--- a/radeon-font.h
+++ b/radeon-font.h
@@ -6,646 +6,646 @@

/* Offsets into index. */
static int _radon_offset[256] = {
- 569, /* (0x0) */
- 569, /* (0x1) */
- 569, /* (0x2) */
- 569, /* (0x3) */
- 569, /* (0x4) */
- 569, /* (0x5) */
- 569, /* (0x6) */
- 569, /* (0x7) */
- 569, /* (0x8) */
- 569, /* (0x9) */
- 569, /* (0xa) */
- 569, /* (0xb) */
- 569, /* (0xc) */
- 569, /* (0xd) */
- 569, /* (0xe) */
- 569, /* (0xf) */
- 569, /* (0x10) */
- 569, /* (0x11) */
- 569, /* (0x12) */
- 569, /* (0x13) */
- 569, /* (0x14) */
- 569, /* (0x15) */
- 569, /* (0x16) */
- 569, /* (0x17) */
- 569, /* (0x18) */
- 569, /* (0x19) */
- 569, /* (0x1a) */
- 569, /* (0x1b) */
- 569, /* (0x1c) */
- 569, /* (0x1d) */
- 569, /* (0x1e) */
- 569, /* (0x1f) */
- 0, /* (0x20) */
- 3, /* (0x21) */
- 6, /* (0x22) */
- 9, /* (0x23) */
- 12, /* (0x24) */
- 15, /* (0x25) */
- 18, /* (0x26) */
- 21, /* (0x27) */
- 24, /* (0x28) */
- 27, /* (0x29) */
- 30, /* (0x2a) */
- 33, /* (0x2b) */
- 36, /* (0x2c) */
- 39, /* (0x2d) */
- 42, /* (0x2e) */
- 45, /* (0x2f) */
- 48, /* (0x30) */
- 51, /* (0x31) */
- 54, /* (0x32) */
- 57, /* (0x33) */
- 60, /* (0x34) */
- 63, /* (0x35) */
- 66, /* (0x36) */
- 69, /* (0x37) */
- 72, /* (0x38) */
- 75, /* (0x39) */
- 78, /* (0x3a) */
- 81, /* (0x3b) */
- 84, /* (0x3c) */
- 87, /* (0x3d) */
- 90, /* (0x3e) */
- 93, /* (0x3f) */
- 96, /* (0x40) */
- 99, /* (0x41) */
- 102, /* (0x42) */
- 105, /* (0x43) */
- 108, /* (0x44) */
- 111, /* (0x45) */
- 114, /* (0x46) */
- 117, /* (0x47) */
- 120, /* (0x48) */
- 123, /* (0x49) */
- 126, /* (0x4a) */
- 129, /* (0x4b) */
- 132, /* (0x4c) */
- 135, /* (0x4d) */
- 138, /* (0x4e) */
- 141, /* (0x4f) */
- 144, /* (0x50) */
- 147, /* (0x51) */
- 150, /* (0x52) */
- 153, /* (0x53) */
- 156, /* (0x54) */
- 159, /* (0x55) */
- 162, /* (0x56) */
- 165, /* (0x57) */
- 168, /* (0x58) */
- 171, /* (0x59) */
- 174, /* (0x5a) */
- 177, /* (0x5b) */
- 180, /* (0x5c) */
- 183, /* (0x5d) */
- 186, /* (0x5e) */
- 189, /* (0x5f) */
- 192, /* (0x60) */
- 195, /* (0x61) */
- 198, /* (0x62) */
- 201, /* (0x63) */
- 204, /* (0x64) */
- 207, /* (0x65) */
- 210, /* (0x66) */
- 213, /* (0x67) */
- 216, /* (0x68) */
- 219, /* (0x69) */
- 222, /* (0x6a) */
- 225, /* (0x6b) */
- 228, /* (0x6c) */
- 231, /* (0x6d) */
- 234, /* (0x6e) */
- 237, /* (0x6f) */
- 240, /* (0x70) */
- 243, /* (0x71) */
- 246, /* (0x72) */
- 249, /* (0x73) */
- 252, /* (0x74) */
- 255, /* (0x75) */
- 258, /* (0x76) */
- 261, /* (0x77) */
- 264, /* (0x78) */
- 267, /* (0x79) */
- 270, /* (0x7a) */
- 273, /* (0x7b) */
- 276, /* (0x7c) */
- 279, /* (0x7d) */
- 282, /* (0x7e) */
- 569, /* (0x7f) */
- 569, /* (0x80) */
- 569, /* (0x81) */
- 569, /* (0x82) */
- 569, /* (0x83) */
- 569, /* (0x84) */
- 569, /* (0x85) */
- 569, /* (0x86) */
- 569, /* (0x87) */
- 569, /* (0x88) */
- 569, /* (0x89) */
- 569, /* (0x8a) */
- 569, /* (0x8b) */
- 569, /* (0x8c) */
- 569, /* (0x8d) */
- 569, /* (0x8e) */
- 569, /* (0x8f) */
- 569, /* (0x90) */
- 569, /* (0x91) */
- 569, /* (0x92) */
- 569, /* (0x93) */
- 569, /* (0x94) */
- 569, /* (0x95) */
- 569, /* (0x96) */
- 569, /* (0x97) */
- 569, /* (0x98) */
- 569, /* (0x99) */
- 569, /* (0x9a) */
- 569, /* (0x9b) */
- 569, /* (0x9c) */
- 569, /* (0x9d) */
- 569, /* (0x9e) */
- 569, /* (0x9f) */
- 285, /* (0xa0) */
- 288, /* (0xa1) */
- 291, /* (0xa2) */
- 294, /* (0xa3) */
- 297, /* (0xa4) */
- 300, /* (0xa5) */
- 303, /* (0xa6) */
- 306, /* (0xa7) */
- 309, /* (0xa8) */
- 312, /* (0xa9) */
- 315, /* (0xaa) */
- 318, /* (0xab) */
- 321, /* (0xac) */
- 324, /* (0xad) */
- 327, /* (0xae) */
- 330, /* (0xaf) */
- 333, /* (0xb0) */
- 336, /* (0xb1) */
- 339, /* (0xb2) */
- 342, /* (0xb3) */
- 345, /* (0xb4) */
- 348, /* (0xb5) */
- 351, /* (0xb6) */
- 354, /* (0xb7) */
- 357, /* (0xb8) */
- 360, /* (0xb9) */
- 363, /* (0xba) */
- 366, /* (0xbb) */
- 369, /* (0xbc) */
- 372, /* (0xbd) */
- 375, /* (0xbe) */
- 378, /* (0xbf) */
- 381, /* (0xc0) */
- 384, /* (0xc1) */
- 387, /* (0xc2) */
- 390, /* (0xc3) */
- 393, /* (0xc4) */
- 396, /* (0xc5) */
- 399, /* (0xc6) */
- 402, /* (0xc7) */
- 405, /* (0xc8) */
- 408, /* (0xc9) */
- 411, /* (0xca) */
- 414, /* (0xcb) */
- 417, /* (0xcc) */
- 420, /* (0xcd) */
- 423, /* (0xce) */
- 426, /* (0xcf) */
- 429, /* (0xd0) */
- 432, /* (0xd1) */
- 435, /* (0xd2) */
- 438, /* (0xd3) */
- 441, /* (0xd4) */
- 444, /* (0xd5) */
- 447, /* (0xd6) */
- 450, /* (0xd7) */
- 453, /* (0xd8) */
- 456, /* (0xd9) */
- 459, /* (0xda) */
- 462, /* (0xdb) */
- 465, /* (0xdc) */
- 468, /* (0xdd) */
- 471, /* (0xde) */
- 474, /* (0xdf) */
- 477, /* (0xe0) */
- 480, /* (0xe1) */
- 483, /* (0xe2) */
- 486, /* (0xe3) */
- 489, /* (0xe4) */
- 492, /* (0xe5) */
- 495, /* (0xe6) */
- 498, /* (0xe7) */
- 501, /* (0xe8) */
- 504, /* (0xe9) */
- 507, /* (0xea) */
- 510, /* (0xeb) */
- 513, /* (0xec) */
- 516, /* (0xed) */
- 519, /* (0xee) */
- 522, /* (0xef) */
- 525, /* (0xf0) */
- 528, /* (0xf1) */
- 531, /* (0xf2) */
- 534, /* (0xf3) */
- 537, /* (0xf4) */
- 540, /* (0xf5) */
- 543, /* (0xf6) */
- 546, /* (0xf7) */
- 549, /* (0xf8) */
- 552, /* (0xf9) */
- 555, /* (0xfa) */
- 558, /* (0xfb) */
- 561, /* (0xfc) */
- 564, /* (0xfd) */
- 567, /* (0xfe) */
- 569, /* (0xff) */
+ 569, /* (0x0) */
+ 569, /* (0x1) */
+ 569, /* (0x2) */
+ 569, /* (0x3) */
+ 569, /* (0x4) */
+ 569, /* (0x5) */
+ 569, /* (0x6) */
+ 569, /* (0x7) */
+ 569, /* (0x8) */
+ 569, /* (0x9) */
+ 569, /* (0xa) */
+ 569, /* (0xb) */
+ 569, /* (0xc) */
+ 569, /* (0xd) */
+ 569, /* (0xe) */
+ 569, /* (0xf) */
+ 569, /* (0x10) */
+ 569, /* (0x11) */
+ 569, /* (0x12) */
+ 569, /* (0x13) */
+ 569, /* (0x14) */
+ 569, /* (0x15) */
+ 569, /* (0x16) */
+ 569, /* (0x17) */
+ 569, /* (0x18) */
+ 569, /* (0x19) */
+ 569, /* (0x1a) */
+ 569, /* (0x1b) */
+ 569, /* (0x1c) */
+ 569, /* (0x1d) */
+ 569, /* (0x1e) */
+ 569, /* (0x1f) */
+ 0, /* (0x20) */
+ 3, /* (0x21) */
+ 6, /* (0x22) */
+ 9, /* (0x23) */
+ 12, /* (0x24) */
+ 15, /* (0x25) */
+ 18, /* (0x26) */
+ 21, /* (0x27) */
+ 24, /* (0x28) */
+ 27, /* (0x29) */
+ 30, /* (0x2a) */
+ 33, /* (0x2b) */
+ 36, /* (0x2c) */
+ 39, /* (0x2d) */
+ 42, /* (0x2e) */
+ 45, /* (0x2f) */
+ 48, /* (0x30) */
+ 51, /* (0x31) */
+ 54, /* (0x32) */
+ 57, /* (0x33) */
+ 60, /* (0x34) */
+ 63, /* (0x35) */
+ 66, /* (0x36) */
+ 69, /* (0x37) */
+ 72, /* (0x38) */
+ 75, /* (0x39) */
+ 78, /* (0x3a) */
+ 81, /* (0x3b) */
+ 84, /* (0x3c) */
+ 87, /* (0x3d) */
+ 90, /* (0x3e) */
+ 93, /* (0x3f) */
+ 96, /* (0x40) */
+ 99, /* (0x41) */
+ 102, /* (0x42) */
+ 105, /* (0x43) */
+ 108, /* (0x44) */
+ 111, /* (0x45) */
+ 114, /* (0x46) */
+ 117, /* (0x47) */
+ 120, /* (0x48) */
+ 123, /* (0x49) */
+ 126, /* (0x4a) */
+ 129, /* (0x4b) */
+ 132, /* (0x4c) */
+ 135, /* (0x4d) */
+ 138, /* (0x4e) */
+ 141, /* (0x4f) */
+ 144, /* (0x50) */
+ 147, /* (0x51) */
+ 150, /* (0x52) */
+ 153, /* (0x53) */
+ 156, /* (0x54) */
+ 159, /* (0x55) */
+ 162, /* (0x56) */
+ 165, /* (0x57) */
+ 168, /* (0x58) */
+ 171, /* (0x59) */
+ 174, /* (0x5a) */
+ 177, /* (0x5b) */
+ 180, /* (0x5c) */
+ 183, /* (0x5d) */
+ 186, /* (0x5e) */
+ 189, /* (0x5f) */
+ 192, /* (0x60) */
+ 195, /* (0x61) */
+ 198, /* (0x62) */
+ 201, /* (0x63) */
+ 204, /* (0x64) */
+ 207, /* (0x65) */
+ 210, /* (0x66) */
+ 213, /* (0x67) */
+ 216, /* (0x68) */
+ 219, /* (0x69) */
+ 222, /* (0x6a) */
+ 225, /* (0x6b) */
+ 228, /* (0x6c) */
+ 231, /* (0x6d) */
+ 234, /* (0x6e) */
+ 237, /* (0x6f) */
+ 240, /* (0x70) */
+ 243, /* (0x71) */
+ 246, /* (0x72) */
+ 249, /* (0x73) */
+ 252, /* (0x74) */
+ 255, /* (0x75) */
+ 258, /* (0x76) */
+ 261, /* (0x77) */
+ 264, /* (0x78) */
+ 267, /* (0x79) */
+ 270, /* (0x7a) */
+ 273, /* (0x7b) */
+ 276, /* (0x7c) */
+ 279, /* (0x7d) */
+ 282, /* (0x7e) */
+ 569, /* (0x7f) */
+ 569, /* (0x80) */
+ 569, /* (0x81) */
+ 569, /* (0x82) */
+ 569, /* (0x83) */
+ 569, /* (0x84) */
+ 569, /* (0x85) */
+ 569, /* (0x86) */
+ 569, /* (0x87) */
+ 569, /* (0x88) */
+ 569, /* (0x89) */
+ 569, /* (0x8a) */
+ 569, /* (0x8b) */
+ 569, /* (0x8c) */
+ 569, /* (0x8d) */
+ 569, /* (0x8e) */
+ 569, /* (0x8f) */
+ 569, /* (0x90) */
+ 569, /* (0x91) */
+ 569, /* (0x92) */
+ 569, /* (0x93) */
+ 569, /* (0x94) */
+ 569, /* (0x95) */
+ 569, /* (0x96) */
+ 569, /* (0x97) */
+ 569, /* (0x98) */
+ 569, /* (0x99) */
+ 569, /* (0x9a) */
+ 569, /* (0x9b) */
+ 569, /* (0x9c) */
+ 569, /* (0x9d) */
+ 569, /* (0x9e) */
+ 569, /* (0x9f) */
+ 285, /* (0xa0) */
+ 288, /* (0xa1) */
+ 291, /* (0xa2) */
+ 294, /* (0xa3) */
+ 297, /* (0xa4) */
+ 300, /* (0xa5) */
+ 303, /* (0xa6) */
+ 306, /* (0xa7) */
+ 309, /* (0xa8) */
+ 312, /* (0xa9) */
+ 315, /* (0xaa) */
+ 318, /* (0xab) */
+ 321, /* (0xac) */
+ 324, /* (0xad) */
+ 327, /* (0xae) */
+ 330, /* (0xaf) */
+ 333, /* (0xb0) */
+ 336, /* (0xb1) */
+ 339, /* (0xb2) */
+ 342, /* (0xb3) */
+ 345, /* (0xb4) */
+ 348, /* (0xb5) */
+ 351, /* (0xb6) */
+ 354, /* (0xb7) */
+ 357, /* (0xb8) */
+ 360, /* (0xb9) */
+ 363, /* (0xba) */
+ 366, /* (0xbb) */
+ 369, /* (0xbc) */
+ 372, /* (0xbd) */
+ 375, /* (0xbe) */
+ 378, /* (0xbf) */
+ 381, /* (0xc0) */
+ 384, /* (0xc1) */
+ 387, /* (0xc2) */
+ 390, /* (0xc3) */
+ 393, /* (0xc4) */
+ 396, /* (0xc5) */
+ 399, /* (0xc6) */
+ 402, /* (0xc7) */
+ 405, /* (0xc8) */
+ 408, /* (0xc9) */
+ 411, /* (0xca) */
+ 414, /* (0xcb) */
+ 417, /* (0xcc) */
+ 420, /* (0xcd) */
+ 423, /* (0xce) */
+ 426, /* (0xcf) */
+ 429, /* (0xd0) */
+ 432, /* (0xd1) */
+ 435, /* (0xd2) */
+ 438, /* (0xd3) */
+ 441, /* (0xd4) */
+ 444, /* (0xd5) */
+ 447, /* (0xd6) */
+ 450, /* (0xd7) */
+ 453, /* (0xd8) */
+ 456, /* (0xd9) */
+ 459, /* (0xda) */
+ 462, /* (0xdb) */
+ 465, /* (0xdc) */
+ 468, /* (0xdd) */
+ 471, /* (0xde) */
+ 474, /* (0xdf) */
+ 477, /* (0xe0) */
+ 480, /* (0xe1) */
+ 483, /* (0xe2) */
+ 486, /* (0xe3) */
+ 489, /* (0xe4) */
+ 492, /* (0xe5) */
+ 495, /* (0xe6) */
+ 498, /* (0xe7) */
+ 501, /* (0xe8) */
+ 504, /* (0xe9) */
+ 507, /* (0xea) */
+ 510, /* (0xeb) */
+ 513, /* (0xec) */
+ 516, /* (0xed) */
+ 519, /* (0xee) */
+ 522, /* (0xef) */
+ 525, /* (0xf0) */
+ 528, /* (0xf1) */
+ 531, /* (0xf2) */
+ 534, /* (0xf3) */
+ 537, /* (0xf4) */
+ 540, /* (0xf5) */
+ 543, /* (0xf6) */
+ 546, /* (0xf7) */
+ 549, /* (0xf8) */
+ 552, /* (0xf9) */
+ 555, /* (0xfa) */
+ 558, /* (0xfb) */
+ 561, /* (0xfc) */
+ 564, /* (0xfd) */
+ 567, /* (0xfe) */
+ 569, /* (0xff) */
};

/* Index into content data. */
static int _radon_index[570] = {
- 0x8, 0,
- 0,
- 0x8, 12,
- 0,
- 0x8, 24,
- 0,
- 0x8, 36,
- 0,
- 0x8, 48,
- 0,
- 0x8, 60,
- 0,
- 0x8, 72,
- 0,
- 0x8, 84,
- 0,
- 0x8, 96,
- 0,
- 0x8, 108,
- 0,
- 0x8, 120,
- 0,
- 0x8, 132,
- 0,
- 0x8, 144,
- 0,
- 0x8, 156,
- 0,
- 0x8, 168,
- 0,
- 0x8, 180,
- 0,
- 0x8, 192,
- 0,
- 0x8, 204,
- 0,
- 0x8, 216,
- 0,
- 0x8, 228,
- 0,
- 0x8, 240,
- 0,
- 0x8, 252,
- 0,
- 0x8, 264,
- 0,
- 0x8, 276,
- 0,
- 0x8, 288,
- 0,
- 0x8, 300,
- 0,
- 0x8, 312,
- 0,
- 0x8, 324,
- 0,
- 0x8, 336,
- 0,
- 0x8, 348,
- 0,
- 0x8, 360,
- 0,
- 0x8, 372,
- 0,
- 0x8, 384,
- 0,
- 0x8, 396,
- 0,
- 0x8, 408,
- 0,
- 0x8, 420,
- 0,
- 0x8, 432,
- 0,
- 0x8, 444,
- 0,
- 0x8, 456,
- 0,
- 0x8, 468,
- 0,
- 0x8, 480,
- 0,
- 0x8, 492,
- 0,
- 0x8, 504,
- 0,
- 0x8, 516,
- 0,
- 0x8, 528,
- 0,
- 0x8, 540,
- 0,
- 0x8, 552,
- 0,
- 0x8, 564,
- 0,
- 0x8, 576,
- 0,
- 0x8, 588,
- 0,
- 0x8, 600,
- 0,
- 0x8, 612,
- 0,
- 0x8, 624,
- 0,
- 0x8, 636,
- 0,
- 0x8, 648,
- 0,
- 0x8, 660,
- 0,
- 0x8, 672,
- 0,
- 0x8, 684,
- 0,
- 0x8, 696,
- 0,
- 0x8, 708,
- 0,
- 0x8, 720,
- 0,
- 0x8, 732,
- 0,
- 0x8, 744,
- 0,
- 0x8, 756,
- 0,
- 0x8, 768,
- 0,
- 0x8, 780,
- 0,
- 0x8, 792,
- 0,
- 0x8, 804,
- 0,
- 0x8, 816,
- 0,
- 0x8, 828,
- 0,
- 0x8, 840,
- 0,
- 0x8, 852,
- 0,
- 0x8, 864,
- 0,
- 0x8, 876,
- 0,
- 0x8, 888,
- 0,
- 0x8, 900,
- 0,
- 0x8, 912,
- 0,
- 0x8, 924,
- 0,
- 0x8, 936,
- 0,
- 0x8, 948,
- 0,
- 0x8, 960,
- 0,
- 0x8, 972,
- 0,
- 0x8, 984,
- 0,
- 0x8, 996,
- 0,
- 0x8, 1008,
- 0,
- 0x8, 1020,
- 0,
- 0x8, 1032,
- 0,
- 0x8, 1044,
- 0,
- 0x8, 1056,
- 0,
- 0x8, 1068,
- 0,
- 0x8, 1080,
- 0,
- 0x8, 1092,
- 0,
- 0x8, 1104,
- 0,
- 0x8, 1116,
- 0,
- 0x8, 1128,
- 0,
- 0x8, 1140,
- 0,
- 0x8, 1152,
- 0,
- 0x8, 1164,
- 0,
- 0x8, 1176,
- 0,
- 0x8, 1188,
- 0,
- 0x8, 1200,
- 0,
- 0x8, 1212,
- 0,
- 0x8, 1224,
- 0,
- 0x8, 1236,
- 0,
- 0x8, 1248,
- 0,
- 0x8, 1260,
- 0,
- 0x8, 1272,
- 0,
- 0x8, 1284,
- 0,
- 0x8, 1296,
- 0,
- 0x8, 1308,
- 0,
- 0x8, 1320,
- 0,
- 0x8, 1332,
- 0,
- 0x8, 1344,
- 0,
- 0x8, 1356,
- 0,
- 0x8, 1368,
- 0,
- 0x8, 1380,
- 0,
- 0x8, 1392,
- 0,
- 0x8, 1404,
- 0,
- 0x8, 1416,
- 0,
- 0x8, 1428,
- 0,
- 0x8, 1440,
- 0,
- 0x8, 1452,
- 0,
- 0x8, 1464,
- 0,
- 0x8, 1476,
- 0,
- 0x8, 1488,
- 0,
- 0x8, 1500,
- 0,
- 0x8, 1512,
- 0,
- 0x8, 1524,
- 0,
- 0x8, 1536,
- 0,
- 0x8, 1548,
- 0,
- 0x8, 1560,
- 0,
- 0x8, 1572,
- 0,
- 0x8, 1584,
- 0,
- 0x8, 1596,
- 0,
- 0x8, 1608,
- 0,
- 0x8, 1620,
- 0,
- 0x8, 1632,
- 0,
- 0x8, 1644,
- 0,
- 0x8, 1656,
- 0,
- 0x8, 1668,
- 0,
- 0x8, 1680,
- 0,
- 0x8, 1692,
- 0,
- 0x8, 1704,
- 0,
- 0x8, 1716,
- 0,
- 0x8, 1728,
- 0,
- 0x8, 1740,
- 0,
- 0x8, 1752,
- 0,
- 0x8, 1764,
- 0,
- 0x8, 1776,
- 0,
- 0x8, 1788,
- 0,
- 0x8, 1800,
- 0,
- 0x8, 1812,
- 0,
- 0x8, 1824,
- 0,
- 0x8, 1836,
- 0,
- 0x8, 1848,
- 0,
- 0x8, 1860,
- 0,
- 0x8, 1872,
- 0,
- 0x8, 1884,
- 0,
- 0x8, 1896,
- 0,
- 0x8, 1908,
- 0,
- 0x8, 1920,
- 0,
- 0x8, 1932,
- 0,
- 0x8, 1944,
- 0,
- 0x8, 1956,
- 0,
- 0x8, 1968,
- 0,
- 0x8, 1980,
- 0,
- 0x8, 1992,
- 0,
- 0x8, 2004,
- 0,
- 0x8, 2016,
- 0,
- 0x8, 2028,
- 0,
- 0x8, 2040,
- 0,
- 0x8, 2052,
- 0,
- 0x8, 2064,
- 0,
- 0x8, 2076,
- 0,
- 0x8, 2088,
- 0,
- 0x8, 2100,
- 0,
- 0x8, 2112,
- 0,
- 0x8, 2124,
- 0,
- 0x8, 2136,
- 0,
- 0x8, 2148,
- 0,
- 0x8, 2160,
- 0,
- 0x8, 2172,
- 0,
- 0x8, 2184,
- 0,
- 0x8, 2196,
- 0,
- 0x8, 2208,
- 0,
- 0x8, 2220,
- 0,
- 0x8, 2232,
- 0,
- 0x8, 2244,
- 0,
- 0x8, 2256,
- 0,
- 0x8, 2268,
- 0,
+ 0x8, 0,
+ 0,
+ 0x8, 12,
+ 0,
+ 0x8, 24,
+ 0,
+ 0x8, 36,
+ 0,
+ 0x8, 48,
+ 0,
+ 0x8, 60,
+ 0,
+ 0x8, 72,
+ 0,
+ 0x8, 84,
+ 0,
+ 0x8, 96,
+ 0,
+ 0x8, 108,
+ 0,
+ 0x8, 120,
+ 0,
+ 0x8, 132,
+ 0,
+ 0x8, 144,
+ 0,
+ 0x8, 156,
+ 0,
+ 0x8, 168,
+ 0,
+ 0x8, 180,
+ 0,
+ 0x8, 192,
+ 0,
+ 0x8, 204,
+ 0,
+ 0x8, 216,
+ 0,
+ 0x8, 228,
+ 0,
+ 0x8, 240,
+ 0,
+ 0x8, 252,
+ 0,
+ 0x8, 264,
+ 0,
+ 0x8, 276,
+ 0,
+ 0x8, 288,
+ 0,
+ 0x8, 300,
+ 0,
+ 0x8, 312,
+ 0,
+ 0x8, 324,
+ 0,
+ 0x8, 336,
+ 0,
+ 0x8, 348,
+ 0,
+ 0x8, 360,
+ 0,
+ 0x8, 372,
+ 0,
+ 0x8, 384,
+ 0,
+ 0x8, 396,
+ 0,
+ 0x8, 408,
+ 0,
+ 0x8, 420,
+ 0,
+ 0x8, 432,
+ 0,
+ 0x8, 444,
+ 0,
+ 0x8, 456,
+ 0,
+ 0x8, 468,
+ 0,
+ 0x8, 480,
+ 0,
+ 0x8, 492,
+ 0,
+ 0x8, 504,
+ 0,
+ 0x8, 516,
+ 0,
+ 0x8, 528,
+ 0,
+ 0x8, 540,
+ 0,
+ 0x8, 552,
+ 0,
+ 0x8, 564,
+ 0,
+ 0x8, 576,
+ 0,
+ 0x8, 588,
+ 0,
+ 0x8, 600,
+ 0,
+ 0x8, 612,
+ 0,
+ 0x8, 624,
+ 0,
+ 0x8, 636,
+ 0,
+ 0x8, 648,
+ 0,
+ 0x8, 660,
+ 0,
+ 0x8, 672,
+ 0,
+ 0x8, 684,
+ 0,
+ 0x8, 696,
+ 0,
+ 0x8, 708,
+ 0,
+ 0x8, 720,
+ 0,
+ 0x8, 732,
+ 0,
+ 0x8, 744,
+ 0,
+ 0x8, 756,
+ 0,
+ 0x8, 768,
+ 0,
+ 0x8, 780,
+ 0,
+ 0x8, 792,
+ 0,
+ 0x8, 804,
+ 0,
+ 0x8, 816,
+ 0,
+ 0x8, 828,
+ 0,
+ 0x8, 840,
+ 0,
+ 0x8, 852,
+ 0,
+ 0x8, 864,
+ 0,
+ 0x8, 876,
+ 0,
+ 0x8, 888,
+ 0,
+ 0x8, 900,
+ 0,
+ 0x8, 912,
+ 0,
+ 0x8, 924,
+ 0,
+ 0x8, 936,
+ 0,
+ 0x8, 948,
+ 0,
+ 0x8, 960,
+ 0,
+ 0x8, 972,
+ 0,
+ 0x8, 984,
+ 0,
+ 0x8, 996,
+ 0,
+ 0x8, 1008,
+ 0,
+ 0x8, 1020,
+ 0,
+ 0x8, 1032,
+ 0,
+ 0x8, 1044,
+ 0,
+ 0x8, 1056,
+ 0,
+ 0x8, 1068,
+ 0,
+ 0x8, 1080,
+ 0,
+ 0x8, 1092,
+ 0,
+ 0x8, 1104,
+ 0,
+ 0x8, 1116,
+ 0,
+ 0x8, 1128,
+ 0,
+ 0x8, 1140,
+ 0,
+ 0x8, 1152,
+ 0,
+ 0x8, 1164,
+ 0,
+ 0x8, 1176,
+ 0,
+ 0x8, 1188,
+ 0,
+ 0x8, 1200,
+ 0,
+ 0x8, 1212,
+ 0,
+ 0x8, 1224,
+ 0,
+ 0x8, 1236,
+ 0,
+ 0x8, 1248,
+ 0,
+ 0x8, 1260,
+ 0,
+ 0x8, 1272,
+ 0,
+ 0x8, 1284,
+ 0,
+ 0x8, 1296,
+ 0,
+ 0x8, 1308,
+ 0,
+ 0x8, 1320,
+ 0,
+ 0x8, 1332,
+ 0,
+ 0x8, 1344,
+ 0,
+ 0x8, 1356,
+ 0,
+ 0x8, 1368,
+ 0,
+ 0x8, 1380,
+ 0,
+ 0x8, 1392,
+ 0,
+ 0x8, 1404,
+ 0,
+ 0x8, 1416,
+ 0,
+ 0x8, 1428,
+ 0,
+ 0x8, 1440,
+ 0,
+ 0x8, 1452,
+ 0,
+ 0x8, 1464,
+ 0,
+ 0x8, 1476,
+ 0,
+ 0x8, 1488,
+ 0,
+ 0x8, 1500,
+ 0,
+ 0x8, 1512,
+ 0,
+ 0x8, 1524,
+ 0,
+ 0x8, 1536,
+ 0,
+ 0x8, 1548,
+ 0,
+ 0x8, 1560,
+ 0,
+ 0x8, 1572,
+ 0,
+ 0x8, 1584,
+ 0,
+ 0x8, 1596,
+ 0,
+ 0x8, 1608,
+ 0,
+ 0x8, 1620,
+ 0,
+ 0x8, 1632,
+ 0,
+ 0x8, 1644,
+ 0,
+ 0x8, 1656,
+ 0,
+ 0x8, 1668,
+ 0,
+ 0x8, 1680,
+ 0,
+ 0x8, 1692,
+ 0,
+ 0x8, 1704,
+ 0,
+ 0x8, 1716,
+ 0,
+ 0x8, 1728,
+ 0,
+ 0x8, 1740,
+ 0,
+ 0x8, 1752,
+ 0,
+ 0x8, 1764,
+ 0,
+ 0x8, 1776,
+ 0,
+ 0x8, 1788,
+ 0,
+ 0x8, 1800,
+ 0,
+ 0x8, 1812,
+ 0,
+ 0x8, 1824,
+ 0,
+ 0x8, 1836,
+ 0,
+ 0x8, 1848,
+ 0,
+ 0x8, 1860,
+ 0,
+ 0x8, 1872,
+ 0,
+ 0x8, 1884,
+ 0,
+ 0x8, 1896,
+ 0,
+ 0x8, 1908,
+ 0,
+ 0x8, 1920,
+ 0,
+ 0x8, 1932,
+ 0,
+ 0x8, 1944,
+ 0,
+ 0x8, 1956,
+ 0,
+ 0x8, 1968,
+ 0,
+ 0x8, 1980,
+ 0,
+ 0x8, 1992,
+ 0,
+ 0x8, 2004,
+ 0,
+ 0x8, 2016,
+ 0,
+ 0x8, 2028,
+ 0,
+ 0x8, 2040,
+ 0,
+ 0x8, 2052,
+ 0,
+ 0x8, 2064,
+ 0,
+ 0x8, 2076,
+ 0,
+ 0x8, 2088,
+ 0,
+ 0x8, 2100,
+ 0,
+ 0x8, 2112,
+ 0,
+ 0x8, 2124,
+ 0,
+ 0x8, 2136,
+ 0,
+ 0x8, 2148,
+ 0,
+ 0x8, 2160,
+ 0,
+ 0x8, 2172,
+ 0,
+ 0x8, 2184,
+ 0,
+ 0x8, 2196,
+ 0,
+ 0x8, 2208,
+ 0,
+ 0x8, 2220,
+ 0,
+ 0x8, 2232,
+ 0,
+ 0x8, 2244,
+ 0,
+ 0x8, 2256,
+ 0,
+ 0x8, 2268,
+ 0,
};

/* Font character content data. */
@@ -666,18 +666,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 12: character ! (0x21), width 8 */
/* +--------+
@@ -694,18 +694,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 24: character " (0x22), width 8 */
/* +--------+
@@ -722,18 +722,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x28000000,
-0x28000000,
-0x28000000,
-0x28000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x28000000,
+ 0x28000000,
+ 0x28000000,
+ 0x28000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 36: character # (0x23), width 8 */
/* +--------+
@@ -750,18 +750,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x44000000,
-0x44000000,
-0xba000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0xba000000,
-0x44000000,
-0x44000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x44000000,
+ 0x44000000,
+ 0xba000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0xba000000,
+ 0x44000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,

/* 48: character $ (0x24), width 8 */
/* +--------+
@@ -778,18 +778,18 @@ static u_int32_t _radon_content[] = {
| * |
| |
+--------+ */
-0x10000000,
-0x7e000000,
-0x80000000,
-0x90000000,
-0x80000000,
-0x7c000000,
-0x02000000,
-0x12000000,
-0x02000000,
-0xfc000000,
-0x10000000,
-0x00000000,
+ 0x10000000,
+ 0x7e000000,
+ 0x80000000,
+ 0x90000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x12000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x10000000,
+ 0x00000000,

/* 60: character % (0x25), width 8 */
/* +--------+
@@ -806,18 +806,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x62000000,
-0x92000000,
-0x94000000,
-0x68000000,
-0x10000000,
-0x2c000000,
-0x52000000,
-0x92000000,
-0x8c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x62000000,
+ 0x92000000,
+ 0x94000000,
+ 0x68000000,
+ 0x10000000,
+ 0x2c000000,
+ 0x52000000,
+ 0x92000000,
+ 0x8c000000,
+ 0x00000000,
+ 0x00000000,

/* 72: character & (0x26), width 8 */
/* +--------+
@@ -834,18 +834,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x60000000,
-0x90000000,
-0x90000000,
-0x40000000,
-0x20000000,
-0x90000000,
-0x8a000000,
-0x84000000,
-0x7a000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x60000000,
+ 0x90000000,
+ 0x90000000,
+ 0x40000000,
+ 0x20000000,
+ 0x90000000,
+ 0x8a000000,
+ 0x84000000,
+ 0x7a000000,
+ 0x00000000,
+ 0x00000000,

/* 84: character ' (0x27), width 8 */
/* +--------+
@@ -862,18 +862,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x60000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x60000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 96: character ( (0x28), width 8 */
/* +--------+
@@ -890,18 +890,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 108: character ) (0x29), width 8 */
/* +--------+
@@ -918,18 +918,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 120: character * (0x2a), width 8 */
/* +--------+
@@ -946,18 +946,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x92000000,
-0x54000000,
-0x10000000,
-0x10000000,
-0x54000000,
-0x92000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x92000000,
+ 0x54000000,
+ 0x10000000,
+ 0x10000000,
+ 0x54000000,
+ 0x92000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 132: character + (0x2b), width 8 */
/* +--------+
@@ -974,18 +974,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0xd6000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0xd6000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 144: character , (0x2c), width 8 */
/* +--------+
@@ -1002,18 +1002,18 @@ static u_int32_t _radon_content[] = {
| ** |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x30000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,

/* 156: character - (0x2d), width 8 */
/* +--------+
@@ -1030,18 +1030,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 168: character . (0x2e), width 8 */
/* +--------+
@@ -1058,18 +1058,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 180: character / (0x2f), width 8 */
/* +--------+
@@ -1086,18 +1086,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x04000000,
-0x08000000,
-0x10000000,
-0x20000000,
-0x40000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x04000000,
+ 0x08000000,
+ 0x10000000,
+ 0x20000000,
+ 0x40000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 192: character 0 (0x30), width 8 */
/* +--------+
@@ -1114,18 +1114,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 204: character 1 (0x31), width 8 */
/* +--------+
@@ -1142,18 +1142,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x28000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x28000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 216: character 2 (0x32), width 8 */
/* +--------+
@@ -1170,18 +1170,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,

/* 228: character 3 (0x33), width 8 */
/* +--------+
@@ -1198,18 +1198,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x3c000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 240: character 4 (0x34), width 8 */
/* +--------+
@@ -1226,18 +1226,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7a000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7a000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,

/* 252: character 5 (0x35), width 8 */
/* +--------+
@@ -1254,18 +1254,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfe000000,
-0x00000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 264: character 6 (0x36), width 8 */
/* +--------+
@@ -1282,18 +1282,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 276: character 7 (0x37), width 8 */
/* +--------+
@@ -1310,18 +1310,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,

/* 288: character 8 (0x38), width 8 */
/* +--------+
@@ -1338,18 +1338,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 300: character 9 (0x39), width 8 */
/* +--------+
@@ -1366,18 +1366,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7a000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7a000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 312: character : (0x3a), width 8 */
/* +--------+
@@ -1394,18 +1394,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 324: character ; (0x3b), width 8 */
/* +--------+
@@ -1422,18 +1422,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x60000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x60000000,
+ 0x00000000,
+ 0x00000000,

/* 336: character < (0x3c), width 8 */
/* +--------+
@@ -1450,18 +1450,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x08000000,
-0x10000000,
-0x20000000,
-0x40000000,
-0x20000000,
-0x10000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x10000000,
+ 0x20000000,
+ 0x40000000,
+ 0x20000000,
+ 0x10000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 348: character = (0x3d), width 8 */
/* +--------+
@@ -1478,18 +1478,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 360: character > (0x3e), width 8 */
/* +--------+
@@ -1506,18 +1506,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x08000000,
-0x04000000,
-0x02000000,
-0x04000000,
-0x08000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x08000000,
+ 0x04000000,
+ 0x02000000,
+ 0x04000000,
+ 0x08000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 372: character ? (0x3f), width 8 */
/* +--------+
@@ -1534,18 +1534,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x00000000,
-0x20000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x00000000,
+ 0x20000000,
+ 0x00000000,
+ 0x00000000,

/* 384: character @ (0x40), width 8 */
/* +--------+
@@ -1562,18 +1562,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x8a000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x8c000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x8a000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x8c000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 396: character A (0x41), width 8 */
/* +--------+
@@ -1590,18 +1590,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 408: character B (0x42), width 8 */
/* +--------+
@@ -1618,18 +1618,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 420: character C (0x43), width 8 */
/* +--------+
@@ -1646,18 +1646,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 432: character D (0x44), width 8 */
/* +--------+
@@ -1674,18 +1674,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 444: character E (0x45), width 8 */
/* +--------+
@@ -1702,18 +1702,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 456: character F (0x46), width 8 */
/* +--------+
@@ -1730,18 +1730,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 468: character G (0x47), width 8 */
/* +--------+
@@ -1758,18 +1758,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x9a000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x9a000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 480: character H (0x48), width 8 */
/* +--------+
@@ -1786,18 +1786,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 492: character I (0x49), width 8 */
/* +--------+
@@ -1814,18 +1814,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 504: character J (0x4a), width 8 */
/* +--------+
@@ -1842,18 +1842,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x84000000,
-0x78000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x84000000,
+ 0x78000000,
+ 0x00000000,
+ 0x00000000,

/* 516: character K (0x4b), width 8 */
/* +--------+
@@ -1870,18 +1870,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 528: character L (0x4c), width 8 */
/* +--------+
@@ -1898,18 +1898,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7e000000,
+ 0x00000000,
+ 0x00000000,

/* 540: character M (0x4d), width 8 */
/* +--------+
@@ -1926,18 +1926,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 552: character N (0x4e), width 8 */
/* +--------+
@@ -1954,18 +1954,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 564: character O (0x4f), width 8 */
/* +--------+
@@ -1982,18 +1982,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 576: character P (0x50), width 8 */
/* +--------+
@@ -2010,18 +2010,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 588: character Q (0x51), width 8 */
/* +--------+
@@ -2038,18 +2038,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x8a000000,
-0x8a000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x8a000000,
+ 0x8a000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 600: character R (0x52), width 8 */
/* +--------+
@@ -2066,18 +2066,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 612: character S (0x53), width 8 */
/* +--------+
@@ -2094,18 +2094,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7e000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0xfc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7e000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0xfc000000,
+ 0x00000000,
+ 0x00000000,

/* 624: character T (0x54), width 8 */
/* +--------+
@@ -2122,18 +2122,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfe000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 636: character U (0x55), width 8 */
/* +--------+
@@ -2150,18 +2150,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 648: character V (0x56), width 8 */
/* +--------+
@@ -2178,18 +2178,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x84000000,
-0x88000000,
-0x90000000,
-0xa0000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x84000000,
+ 0x88000000,
+ 0x90000000,
+ 0xa0000000,
+ 0x00000000,
+ 0x00000000,

/* 660: character W (0x57), width 8 */
/* +--------+
@@ -2206,18 +2206,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 672: character X (0x58), width 8 */
/* +--------+
@@ -2234,18 +2234,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 684: character Y (0x59), width 8 */
/* +--------+
@@ -2262,18 +2262,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 696: character Z (0x5a), width 8 */
/* +--------+
@@ -2290,18 +2290,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xfc000000,
-0x02000000,
-0x04000000,
-0x08000000,
-0x10000000,
-0x20000000,
-0x40000000,
-0x80000000,
-0x7e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x04000000,
+ 0x08000000,
+ 0x10000000,
+ 0x20000000,
+ 0x40000000,
+ 0x80000000,
+ 0x7e000000,
+ 0x00000000,
+ 0x00000000,

/* 708: character [ (0x5b), width 8 */
/* +--------+
@@ -2318,18 +2318,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x1c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x1c000000,
+ 0x00000000,
+ 0x00000000,

/* 720: character \ (0x5c), width 8 */
/* +--------+
@@ -2346,18 +2346,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x40000000,
-0x20000000,
-0x10000000,
-0x08000000,
-0x04000000,
-0x02000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x40000000,
+ 0x20000000,
+ 0x10000000,
+ 0x08000000,
+ 0x04000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,

/* 732: character ] (0x5d), width 8 */
/* +--------+
@@ -2374,18 +2374,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x38000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,

/* 744: character ^ (0x5e), width 8 */
/* +--------+
@@ -2402,18 +2402,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x44000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 756: character _ (0x5f), width 8 */
/* +--------+
@@ -2430,18 +2430,18 @@ static u_int32_t _radon_content[] = {
|********|
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xff000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xff000000,
+ 0x00000000,

/* 768: character ` (0x60), width 8 */
/* +--------+
@@ -2458,18 +2458,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x06000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x06000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 780: character a (0x61), width 8 */
/* +--------+
@@ -2486,18 +2486,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 792: character b (0x62), width 8 */
/* +--------+
@@ -2514,18 +2514,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x40000000,
-0x40000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40000000,
+ 0x40000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 804: character c (0x63), width 8 */
/* +--------+
@@ -2542,18 +2542,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 816: character d (0x64), width 8 */
/* +--------+
@@ -2570,18 +2570,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x02000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x02000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 828: character e (0x65), width 8 */
/* +--------+
@@ -2598,18 +2598,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 840: character f (0x66), width 8 */
/* +--------+
@@ -2626,18 +2626,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x0c000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x54000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x0c000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x54000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 852: character g (0x67), width 8 */
/* +--------+
@@ -2654,18 +2654,18 @@ static u_int32_t _radon_content[] = {
| * |
| **** |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x3c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x3c000000,

/* 864: character h (0x68), width 8 */
/* +--------+
@@ -2682,18 +2682,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x40000000,
-0x40000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40000000,
+ 0x40000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 876: character i (0x69), width 8 */
/* +--------+
@@ -2710,18 +2710,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 888: character j (0x6a), width 8 */
/* +--------+
@@ -2738,18 +2738,18 @@ static u_int32_t _radon_content[] = {
| * |
| ** |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x30000000,

/* 900: character k (0x6b), width 8 */
/* +--------+
@@ -2766,18 +2766,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x40000000,
-0x40000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x40000000,
+ 0x40000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 912: character l (0x6c), width 8 */
/* +--------+
@@ -2794,18 +2794,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 924: character m (0x6d), width 8 */
/* +--------+
@@ -2822,18 +2822,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x00000000,
+ 0x00000000,

/* 936: character n (0x6e), width 8 */
/* +--------+
@@ -2850,18 +2850,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 948: character o (0x6f), width 8 */
/* +--------+
@@ -2878,18 +2878,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 960: character p (0x70), width 8 */
/* +--------+
@@ -2906,18 +2906,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x40000000,

/* 972: character q (0x71), width 8 */
/* +--------+
@@ -2934,18 +2934,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x02000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x02000000,

/* 984: character r (0x72), width 8 */
/* +--------+
@@ -2962,18 +2962,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x0c000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x0c000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 996: character s (0x73), width 8 */
/* +--------+
@@ -2990,18 +2990,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3e000000,
-0x40000000,
-0x3c000000,
-0x02000000,
-0x02000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3e000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x02000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1008: character t (0x74), width 8 */
/* +--------+
@@ -3018,18 +3018,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x54000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x0c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x54000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x0c000000,
+ 0x00000000,
+ 0x00000000,

/* 1020: character u (0x75), width 8 */
/* +--------+
@@ -3046,18 +3046,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1032: character v (0x76), width 8 */
/* +--------+
@@ -3074,18 +3074,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x44000000,
-0x48000000,
-0x50000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x44000000,
+ 0x48000000,
+ 0x50000000,
+ 0x00000000,
+ 0x00000000,

/* 1044: character w (0x77), width 8 */
/* +--------+
@@ -3102,18 +3102,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x92000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x92000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1056: character x (0x78), width 8 */
/* +--------+
@@ -3130,18 +3130,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 1068: character y (0x79), width 8 */
/* +--------+
@@ -3158,18 +3158,18 @@ static u_int32_t _radon_content[] = {
| * |
| **** |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x3c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x3c000000,

/* 1080: character z (0x7a), width 8 */
/* +--------+
@@ -3186,18 +3186,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x02000000,
-0x0c000000,
-0x30000000,
-0x40000000,
-0x3e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x02000000,
+ 0x0c000000,
+ 0x30000000,
+ 0x40000000,
+ 0x3e000000,
+ 0x00000000,
+ 0x00000000,

/* 1092: character { (0x7b), width 8 */
/* +--------+
@@ -3214,18 +3214,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x40000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0x1c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x40000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0x1c000000,
+ 0x00000000,
+ 0x00000000,

/* 1104: character | (0x7c), width 8 */
/* +--------+
@@ -3242,18 +3242,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1116: character } (0x7d), width 8 */
/* +--------+
@@ -3270,18 +3270,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x02000000,
-0x04000000,
-0x04000000,
-0x04000000,
-0x38000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x02000000,
+ 0x04000000,
+ 0x04000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,

/* 1128: character ~ (0x7e), width 8 */
/* +--------+
@@ -3298,18 +3298,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x04000000,
-0x38000000,
-0x40000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x04000000,
+ 0x38000000,
+ 0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1140: character   (0xa0), width 8 */
/* +--------+
@@ -3326,18 +3326,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1152: character ¡ (0xa1), width 8 */
/* +--------+
@@ -3354,18 +3354,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1164: character ¢ (0xa2), width 8 */
/* +--------+
@@ -3382,18 +3382,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x08000000,
-0x3e000000,
-0x40000000,
-0x48000000,
-0x48000000,
-0x40000000,
-0x3e000000,
-0x08000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x3e000000,
+ 0x40000000,
+ 0x48000000,
+ 0x48000000,
+ 0x40000000,
+ 0x3e000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,

/* 1176: character £ (0xa3), width 8 */
/* +--------+
@@ -3410,18 +3410,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x1c000000,
-0x20000000,
-0x20000000,
-0x20000000,
-0xa8000000,
-0x20000000,
-0x20000000,
-0x42000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x1c000000,
+ 0x20000000,
+ 0x20000000,
+ 0x20000000,
+ 0xa8000000,
+ 0x20000000,
+ 0x20000000,
+ 0x42000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 1188: character ¤ (0xa4), width 8 */
/* +--------+
@@ -3438,18 +3438,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x82000000,
-0x38000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x82000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1200: character ¥ (0xa5), width 8 */
/* +--------+
@@ -3466,18 +3466,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x54000000,
-0x10000000,
-0x54000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x54000000,
+ 0x10000000,
+ 0x54000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1212: character ¦ (0xa6), width 8 */
/* +--------+
@@ -3494,18 +3494,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1224: character § (0xa7), width 8 */
/* +--------+
@@ -3522,18 +3522,18 @@ static u_int32_t _radon_content[] = {
| *** |
| |
+--------+ */
-0x00000000,
-0x38000000,
-0x40000000,
-0x38000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x04000000,
-0x38000000,
-0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x40000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,

/* 1236: character ¨ (0xa8), width 8 */
/* +--------+
@@ -3550,18 +3550,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1248: character © (0xa9), width 8 */
/* +--------+
@@ -3578,18 +3578,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x9a000000,
-0xa2000000,
-0xa2000000,
-0xa2000000,
-0x9a000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x9a000000,
+ 0xa2000000,
+ 0xa2000000,
+ 0xa2000000,
+ 0x9a000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1260: character ª (0xaa), width 8 */
/* +--------+
@@ -3606,18 +3606,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x04000000,
-0x34000000,
-0x44000000,
-0x38000000,
-0x00000000,
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x34000000,
+ 0x44000000,
+ 0x38000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1272: character « (0xab), width 8 */
/* +--------+
@@ -3634,18 +3634,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x24000000,
-0x48000000,
-0x00000000,
-0x48000000,
-0x24000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x24000000,
+ 0x48000000,
+ 0x00000000,
+ 0x48000000,
+ 0x24000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1284: character ¬ (0xac), width 8 */
/* +--------+
@@ -3662,18 +3662,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0xfc000000,
-0x02000000,
-0x02000000,
-0x02000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0xfc000000,
+ 0x02000000,
+ 0x02000000,
+ 0x02000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1296: character ­ (0xad), width 8 */
/* +--------+
@@ -3690,18 +3690,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1308: character ® (0xae), width 8 */
/* +--------+
@@ -3718,18 +3718,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7c000000,
-0x82000000,
-0x92000000,
-0xaa000000,
-0xb2000000,
-0xaa000000,
-0xaa000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x92000000,
+ 0xaa000000,
+ 0xb2000000,
+ 0xaa000000,
+ 0xaa000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1320: character ¯ (0xaf), width 8 */
/* +--------+
@@ -3746,18 +3746,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1332: character ° (0xb0), width 8 */
/* +--------+
@@ -3774,18 +3774,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1344: character ± (0xb1), width 8 */
/* +--------+
@@ -3802,18 +3802,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x10000000,
-0x10000000,
-0xd6000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0xd6000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1356: character ² (0xb2), width 8 */
/* +--------+
@@ -3830,18 +3830,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x04000000,
-0x18000000,
-0x20000000,
-0x3c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x18000000,
+ 0x20000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1368: character ³ (0xb3), width 8 */
/* +--------+
@@ -3858,18 +3858,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x04000000,
-0x38000000,
-0x04000000,
-0x38000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x04000000,
+ 0x38000000,
+ 0x04000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1380: character ´ (0xb4), width 8 */
/* +--------+
@@ -3886,18 +3886,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x18000000,
-0x20000000,
-0x20000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x18000000,
+ 0x20000000,
+ 0x20000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1392: character µ (0xb5), width 8 */
/* +--------+
@@ -3914,18 +3914,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x44000000,
-0x58000000,
-0x40000000,
-0x40000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x44000000,
+ 0x58000000,
+ 0x40000000,
+ 0x40000000,

/* 1404: character ¶ (0xb6), width 8 */
/* +--------+
@@ -3942,18 +3942,18 @@ static u_int32_t _radon_content[] = {
| * * |
| |
+--------+ */
-0x00000000,
-0x79000000,
-0xfa000000,
-0xfa000000,
-0xfa000000,
-0x7a000000,
-0x02000000,
-0x0a000000,
-0x0a000000,
-0x0a000000,
-0x0a000000,
-0x00000000,
+ 0x00000000,
+ 0x79000000,
+ 0xfa000000,
+ 0xfa000000,
+ 0xfa000000,
+ 0x7a000000,
+ 0x02000000,
+ 0x0a000000,
+ 0x0a000000,
+ 0x0a000000,
+ 0x0a000000,
+ 0x00000000,

/* 1416: character · (0xb7), width 8 */
/* +--------+
@@ -3970,18 +3970,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1428: character ¸ (0xb8), width 8 */
/* +--------+
@@ -3998,18 +3998,18 @@ static u_int32_t _radon_content[] = {
| * |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x08000000,
-0x10000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x10000000,
+ 0x00000000,

/* 1440: character ¹ (0xb9), width 8 */
/* +--------+
@@ -4026,18 +4026,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x18000000,
-0x08000000,
-0x08000000,
-0x08000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x18000000,
+ 0x08000000,
+ 0x08000000,
+ 0x08000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1452: character º (0xba), width 8 */
/* +--------+
@@ -4054,18 +4054,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x44000000,
-0x38000000,
-0x00000000,
-0x7c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x44000000,
+ 0x38000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1464: character » (0xbb), width 8 */
/* +--------+
@@ -4082,18 +4082,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x48000000,
-0x24000000,
-0x00000000,
-0x24000000,
-0x48000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x48000000,
+ 0x24000000,
+ 0x00000000,
+ 0x24000000,
+ 0x48000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1476: character ¼ (0xbc), width 8 */
/* +--------+
@@ -4110,18 +4110,18 @@ static u_int32_t _radon_content[] = {
| *|
| *|
+--------+ */
-0x20000000,
-0xa2000000,
-0x22000000,
-0x22000000,
-0x24000000,
-0x08000000,
-0x10000000,
-0x29000000,
-0x49000000,
-0x85000000,
-0x01000000,
-0x01000000,
+ 0x20000000,
+ 0xa2000000,
+ 0x22000000,
+ 0x22000000,
+ 0x24000000,
+ 0x08000000,
+ 0x10000000,
+ 0x29000000,
+ 0x49000000,
+ 0x85000000,
+ 0x01000000,
+ 0x01000000,

/* 1488: character ½ (0xbd), width 8 */
/* +--------+
@@ -4138,18 +4138,18 @@ static u_int32_t _radon_content[] = {
| * |
| ****|
+--------+ */
-0x20000000,
-0xa2000000,
-0x22000000,
-0x22000000,
-0x24000000,
-0x08000000,
-0x10000000,
-0x2e000000,
-0x41000000,
-0x86000000,
-0x08000000,
-0x0f000000,
+ 0x20000000,
+ 0xa2000000,
+ 0x22000000,
+ 0x22000000,
+ 0x24000000,
+ 0x08000000,
+ 0x10000000,
+ 0x2e000000,
+ 0x41000000,
+ 0x86000000,
+ 0x08000000,
+ 0x0f000000,

/* 1500: character ¾ (0xbe), width 8 */
/* +--------+
@@ -4166,18 +4166,18 @@ static u_int32_t _radon_content[] = {
| *|
| *|
+--------+ */
-0xe0000000,
-0x12000000,
-0xe2000000,
-0x12000000,
-0xe4000000,
-0x08000000,
-0x10000000,
-0x29000000,
-0x49000000,
-0x85000000,
-0x01000000,
-0x01000000,
+ 0xe0000000,
+ 0x12000000,
+ 0xe2000000,
+ 0x12000000,
+ 0xe4000000,
+ 0x08000000,
+ 0x10000000,
+ 0x29000000,
+ 0x49000000,
+ 0x85000000,
+ 0x01000000,
+ 0x01000000,

/* 1512: character ¿ (0xbf), width 8 */
/* +--------+
@@ -4194,18 +4194,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x08000000,
-0x00000000,
-0x08000000,
-0x08000000,
-0x70000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x7e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x08000000,
+ 0x00000000,
+ 0x08000000,
+ 0x08000000,
+ 0x70000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7e000000,
+ 0x00000000,
+ 0x00000000,

/* 1524: character À (0xc0), width 8 */
/* +--------+
@@ -4222,18 +4222,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1536: character Á (0xc1), width 8 */
/* +--------+
@@ -4250,18 +4250,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1548: character  (0xc2), width 8 */
/* +--------+
@@ -4278,18 +4278,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1560: character à (0xc3), width 8 */
/* +--------+
@@ -4306,18 +4306,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1572: character Ä (0xc4), width 8 */
/* +--------+
@@ -4334,18 +4334,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1584: character Å (0xc5), width 8 */
/* +--------+
@@ -4362,18 +4362,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x38000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xba000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x38000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xba000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1596: character Æ (0xc6), width 8 */
/* +--------+
@@ -4390,18 +4390,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x77000000,
-0x88000000,
-0x88000000,
-0x88000000,
-0x8b000000,
-0xa8000000,
-0x88000000,
-0x88000000,
-0x8b000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x77000000,
+ 0x88000000,
+ 0x88000000,
+ 0x88000000,
+ 0x8b000000,
+ 0xa8000000,
+ 0x88000000,
+ 0x88000000,
+ 0x8b000000,
+ 0x00000000,
+ 0x00000000,

/* 1608: character Ç (0xc7), width 8 */
/* +--------+
@@ -4418,18 +4418,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x80000000,
-0x6c000000,
-0x10000000,
-0x20000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x80000000,
+ 0x6c000000,
+ 0x10000000,
+ 0x20000000,

/* 1620: character È (0xc8), width 8 */
/* +--------+
@@ -4446,18 +4446,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1632: character É (0xc9), width 8 */
/* +--------+
@@ -4474,18 +4474,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1644: character Ê (0xca), width 8 */
/* +--------+
@@ -4502,18 +4502,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1656: character Ë (0xcb), width 8 */
/* +--------+
@@ -4530,18 +4530,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x80000000,
-0x80000000,
-0xb8000000,
-0x80000000,
-0x80000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x80000000,
+ 0x80000000,
+ 0xb8000000,
+ 0x80000000,
+ 0x80000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1668: character Ì (0xcc), width 8 */
/* +--------+
@@ -4558,18 +4558,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1680: character Í (0xcd), width 8 */
/* +--------+
@@ -4586,18 +4586,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1692: character Î (0xce), width 8 */
/* +--------+
@@ -4614,18 +4614,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1704: character Ï (0xcf), width 8 */
/* +--------+
@@ -4642,18 +4642,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1716: character Ð (0xd0), width 8 */
/* +--------+
@@ -4670,18 +4670,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xb2000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xb2000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 1728: character Ñ (0xd1), width 8 */
/* +--------+
@@ -4698,18 +4698,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x00000000,
+ 0x00000000,

/* 1740: character Ò (0xd2), width 8 */
/* +--------+
@@ -4726,18 +4726,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1752: character Ó (0xd3), width 8 */
/* +--------+
@@ -4754,18 +4754,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1764: character Ô (0xd4), width 8 */
/* +--------+
@@ -4782,18 +4782,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1776: character Õ (0xd5), width 8 */
/* +--------+
@@ -4810,18 +4810,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1788: character Ö (0xd6), width 8 */
/* +--------+
@@ -4838,18 +4838,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x7c000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x7c000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1800: character × (0xd7), width 8 */
/* +--------+
@@ -4866,18 +4866,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x44000000,
-0x28000000,
-0x00000000,
-0x28000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x44000000,
+ 0x28000000,
+ 0x00000000,
+ 0x28000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 1812: character Ø (0xd8), width 8 */
/* +--------+
@@ -4894,18 +4894,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x7a000000,
-0x84000000,
-0x82000000,
-0x8a000000,
-0x92000000,
-0xa2000000,
-0x82000000,
-0x42000000,
-0xbc000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x7a000000,
+ 0x84000000,
+ 0x82000000,
+ 0x8a000000,
+ 0x92000000,
+ 0xa2000000,
+ 0x82000000,
+ 0x42000000,
+ 0xbc000000,
+ 0x00000000,
+ 0x00000000,

/* 1824: character Ù (0xd9), width 8 */
/* +--------+
@@ -4922,18 +4922,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1836: character Ú (0xda), width 8 */
/* +--------+
@@ -4950,18 +4950,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1848: character Û (0xdb), width 8 */
/* +--------+
@@ -4978,18 +4978,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1860: character Ü (0xdc), width 8 */
/* +--------+
@@ -5006,18 +5006,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x00000000,

/* 1872: character Ý (0xdd), width 8 */
/* +--------+
@@ -5034,18 +5034,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0xb2000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0x7c000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0xb2000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0x7c000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 1884: character Þ (0xde), width 8 */
/* +--------+
@@ -5062,18 +5062,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0xbc000000,
-0x82000000,
-0x82000000,
-0x82000000,
-0xbc000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0xbc000000,
+ 0x82000000,
+ 0x82000000,
+ 0x82000000,
+ 0xbc000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

/* 1896: character ß (0xdf), width 8 */
/* +--------+
@@ -5090,18 +5090,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x9c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x9c000000,
+ 0x00000000,
+ 0x00000000,

/* 1908: character à (0xe0), width 8 */
/* +--------+
@@ -5118,18 +5118,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1920: character á (0xe1), width 8 */
/* +--------+
@@ -5146,18 +5146,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1932: character â (0xe2), width 8 */
/* +--------+
@@ -5174,18 +5174,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1944: character ã (0xe3), width 8 */
/* +--------+
@@ -5202,18 +5202,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1956: character ä (0xe4), width 8 */
/* +--------+
@@ -5230,18 +5230,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1968: character å (0xe5), width 8 */
/* +--------+
@@ -5258,18 +5258,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x18000000,
-0x24000000,
-0x18000000,
-0x00000000,
-0x3c000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x18000000,
+ 0x24000000,
+ 0x18000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 1980: character æ (0xe6), width 8 */
/* +--------+
@@ -5286,18 +5286,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x6c000000,
-0x12000000,
-0x52000000,
-0x94000000,
-0x90000000,
-0x6e000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x6c000000,
+ 0x12000000,
+ 0x52000000,
+ 0x94000000,
+ 0x90000000,
+ 0x6e000000,
+ 0x00000000,
+ 0x00000000,

/* 1992: character ç (0xe7), width 8 */
/* +--------+
@@ -5314,18 +5314,18 @@ static u_int32_t _radon_content[] = {
| * |
| * |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x40000000,
-0x34000000,
-0x08000000,
-0x10000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x40000000,
+ 0x34000000,
+ 0x08000000,
+ 0x10000000,

/* 2004: character è (0xe8), width 8 */
/* +--------+
@@ -5342,18 +5342,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2016: character é (0xe9), width 8 */
/* +--------+
@@ -5370,18 +5370,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2028: character ê (0xea), width 8 */
/* +--------+
@@ -5398,18 +5398,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2040: character ë (0xeb), width 8 */
/* +--------+
@@ -5426,18 +5426,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x5c000000,
-0x40000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x5c000000,
+ 0x40000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2052: character ì (0xec), width 8 */
/* +--------+
@@ -5454,18 +5454,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2064: character í (0xed), width 8 */
/* +--------+
@@ -5482,18 +5482,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2076: character î (0xee), width 8 */
/* +--------+
@@ -5510,18 +5510,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2088: character ï (0xef), width 8 */
/* +--------+
@@ -5538,18 +5538,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x10000000,
-0x00000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x10000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x10000000,
+ 0x00000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x10000000,
+ 0x00000000,
+ 0x00000000,

/* 2100: character ð (0xf0), width 8 */
/* +--------+
@@ -5566,18 +5566,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x14000000,
-0x08000000,
-0x14000000,
-0x02000000,
-0x3a000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x14000000,
+ 0x08000000,
+ 0x14000000,
+ 0x02000000,
+ 0x3a000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2112: character ñ (0xf1), width 8 */
/* +--------+
@@ -5594,18 +5594,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x32000000,
-0x4c000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x00000000,
+ 0x00000000,

/* 2124: character ò (0xf2), width 8 */
/* +--------+
@@ -5622,18 +5622,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2136: character ó (0xf3), width 8 */
/* +--------+
@@ -5650,18 +5650,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2148: character ô (0xf4), width 8 */
/* +--------+
@@ -5678,18 +5678,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2160: character õ (0xf5), width 8 */
/* +--------+
@@ -5706,18 +5706,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x32000000,
-0x4c000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x32000000,
+ 0x4c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2172: character ö (0xf6), width 8 */
/* +--------+
@@ -5734,18 +5734,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3c000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3c000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2184: character ÷ (0xf7), width 8 */
/* +--------+
@@ -5762,18 +5762,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x38000000,
-0x00000000,
-0xfe000000,
-0x00000000,
-0x38000000,
-0x00000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x38000000,
+ 0x00000000,
+ 0xfe000000,
+ 0x00000000,
+ 0x38000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,

/* 2196: character ø (0xf8), width 8 */
/* +--------+
@@ -5790,18 +5790,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x3a000000,
-0x44000000,
-0x4a000000,
-0x52000000,
-0x22000000,
-0x5c000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x3a000000,
+ 0x44000000,
+ 0x4a000000,
+ 0x52000000,
+ 0x22000000,
+ 0x5c000000,
+ 0x00000000,
+ 0x00000000,

/* 2208: character ù (0xf9), width 8 */
/* +--------+
@@ -5818,18 +5818,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x20000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x20000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2220: character ú (0xfa), width 8 */
/* +--------+
@@ -5846,18 +5846,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x08000000,
-0x30000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x08000000,
+ 0x30000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2232: character û (0xfb), width 8 */
/* +--------+
@@ -5874,18 +5874,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x38000000,
-0x44000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x38000000,
+ 0x44000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2244: character ü (0xfc), width 8 */
/* +--------+
@@ -5902,18 +5902,18 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x6c000000,
-0x00000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3c000000,
-0x00000000,
-0x00000000,
+ 0x6c000000,
+ 0x00000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3c000000,
+ 0x00000000,
+ 0x00000000,

/* 2256: character ý (0xfd), width 8 */
/* +--------+
@@ -5930,18 +5930,18 @@ static u_int32_t _radon_content[] = {
| * |
| **** |
+--------+ */
-0x04000000,
-0x18000000,
-0x00000000,
-0x00000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x42000000,
-0x3a000000,
-0x02000000,
-0x3c000000,
+ 0x04000000,
+ 0x18000000,
+ 0x00000000,
+ 0x00000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x42000000,
+ 0x3a000000,
+ 0x02000000,
+ 0x3c000000,

/* 2268: character þ (0xfe), width 8 */
/* +--------+
@@ -5958,27 +5958,27 @@ static u_int32_t _radon_content[] = {
| |
| |
+--------+ */
-0x00000000,
-0x80000000,
-0x80000000,
-0x9c000000,
-0xa2000000,
-0x82000000,
-0xa2000000,
-0x9c000000,
-0x80000000,
-0x80000000,
-0x00000000,
-0x00000000,
+ 0x00000000,
+ 0x80000000,
+ 0x80000000,
+ 0x9c000000,
+ 0xa2000000,
+ 0x82000000,
+ 0xa2000000,
+ 0x9c000000,
+ 0x80000000,
+ 0x80000000,
+ 0x00000000,
+ 0x00000000,

};

/* Exported structure definition. */
const PSplashFont radeon_font = {
- "radon",
- 12,
- 0xff,
- _radon_offset,
- _radon_index,
- _radon_content,
+ "radon",
+ 12,
+ 0xff,
+ _radon_offset,
+ _radon_index,
+ _radon_content,
};
--
2.17.1


Re: Build failure when adding meta-cgl

Jeremy Puhlman
 

I haven't tested with the distro config in a while. Its highly likely its a bit crusty. I will gladly take any patches or take a look at it when we I get back from break.


On Fri, Dec 24, 2021 at 4:05 PM <gkarasin@...> wrote:
Hi,

I recently cloned yocto project and followed the guide(https://git.yoctoproject.org/meta-cgl/about/) to build a cgl image.
But when running any bitbake command I got:
gabi@ubuntu-lp:~/yocto/cgl$ bitbake-layers show-recipes  "*-image-*"
NOTE: Starting bitbake server...
ERROR: ParseError at /home/gabi/yocto/poky/meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1: Could not include required file conf/distro/poky-lsb.conf
ERROR: ParseError at /home/gabi/yocto/poky/meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1: Could not include required file conf/distro/poky-lsb.conf

gabi@ubuntu-lp:~/yocto/cgl$ bitbake core-image-minimal
ERROR: ParseError at /home/gabi/yocto/poky/meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1: Could not include required file conf/distro/poky-lsb.conf
From what I see poky-lsb was replaced by poky-altcfg in:
commit a91448bf731ef29a841a93e991e7b75efb5f1e28
Author: Richard Purdie <richard.purdie@...>
Date:   Wed Aug 28 17:21:23 2019 +0100
 
    poky-altcfg: Replace poky-lsb with poky-altcfg
    
    LSB has been removed, replace poky-lsb with poky-altcfg, a place
    where we can test different configurations on the autobuilder as well
    as showing an example of how to subclass a distro configuration.
    
    (From meta-yocto rev: 00fdefff55717331a220fe624f29c387970d31d7)
    
    Signed-off-by: Richard Purdie <richard.purdie@...>

Results in failing the first line in poky-cgl.conf:
meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1:require conf/distro/poky-lsb.conf

After changing it to "require conf/distro/poky-altcfg.conf" bitbake seems to run fine.

Haven't found any fix or bug on it, is it a known issue or maybe I missed something?

Thanks,
Gabi





--
Jeremy Puhlman
Montavista Software, LLC.


Build failure when adding meta-cgl

gkarasin@...
 

Hi,

I recently cloned yocto project and followed the guide(https://git.yoctoproject.org/meta-cgl/about/) to build a cgl image.
But when running any bitbake command I got:
gabi@ubuntu-lp:~/yocto/cgl$ bitbake-layers show-recipes  "*-image-*"
NOTE: Starting bitbake server...
ERROR: ParseError at /home/gabi/yocto/poky/meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1: Could not include required file conf/distro/poky-lsb.conf
ERROR: ParseError at /home/gabi/yocto/poky/meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1: Could not include required file conf/distro/poky-lsb.conf

gabi@ubuntu-lp:~/yocto/cgl$ bitbake core-image-minimal
ERROR: ParseError at /home/gabi/yocto/poky/meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1: Could not include required file conf/distro/poky-lsb.conf
From what I see poky-lsb was replaced by poky-altcfg in:
commit a91448bf731ef29a841a93e991e7b75efb5f1e28
Author: Richard Purdie <richard.purdie@...>
Date:   Wed Aug 28 17:21:23 2019 +0100
 
    poky-altcfg: Replace poky-lsb with poky-altcfg
    
    LSB has been removed, replace poky-lsb with poky-altcfg, a place
    where we can test different configurations on the autobuilder as well
    as showing an example of how to subclass a distro configuration.
    
    (From meta-yocto rev: 00fdefff55717331a220fe624f29c387970d31d7)
    
    Signed-off-by: Richard Purdie <richard.purdie@...>

Results in failing the first line in poky-cgl.conf:
meta-cgl/meta-cgl-common/conf/distro/poky-cgl.conf:1:require conf/distro/poky-lsb.conf

After changing it to "require conf/distro/poky-altcfg.conf" bitbake seems to run fine.

Haven't found any fix or bug on it, is it a known issue or maybe I missed something?

Thanks,
Gabi


Re: [meta-tensorflow][PATCH 3/3] tensorflow-lite: add recipe

Randy MacLeod
 

Thanks Stephan.

Hongxu, did you miss this?

../Randy

On 2021-12-21 3:42 a.m., Julien STEPHAN wrote:
Adding 2.6.1 tensorflow-lite recipe.
This recipe is directly based on the corresponding 2.6.1 tensorflow
recipe.
It has been build tested with latest honister and tested on
several mediatek soc using benchmark_model and label_image (C++ and
python)
Signed-off-by: Julien STEPHAN <jstephan@...>
---
.../tensorflow/tensorflow-lite_2.6.1.bb | 156 ++++++++++++++++++
1 file changed, 156 insertions(+)
create mode 100644 recipes-framework/tensorflow/tensorflow-lite_2.6.1.bb
diff --git a/recipes-framework/tensorflow/tensorflow-lite_2.6.1.bb b/recipes-framework/tensorflow/tensorflow-lite_2.6.1.bb
new file mode 100644
index 0000000..104e5a3
--- /dev/null
+++ b/recipes-framework/tensorflow/tensorflow-lite_2.6.1.bb
@@ -0,0 +1,156 @@
+include tensorflow.inc
+
+SRC_URI += " \
+ file://0001-add-yocto-toolchain-to-support-cross-compiling.patch \
+ file://0001-fix-build-tensorflow-lite-examples-label_image-label.patch \
+ file://0001-label_image-tweak-default-model-location.patch \
+ file://0001-label_image.lite-tweak-default-model-location.patch \
+ file://0001-CheckFeatureOrDie-use-warning-to-avoid-die.patch \
+ file://0001-support-32-bit-x64-and-arm-for-yocto.patch \
+ file://0001-Revert-set-distinct_host_configuration-false-by-defa.patch \
+ file://0001-fix-default-Bazel-toolchain-not-work.patch \
+ file://0001-distutils-is-deprecated-in-Python-3.10-cross.patch \
+ file://BUILD.in \
+ file://BUILD.yocto_compiler \
+ file://cc_config.bzl.tpl \
+ file://yocto_compiler_configure.bzl \
+ "
+
+SRC_URI += "https://storage.googleapis.com/download.tensorflow.org/models/inception_v3_2016_08_28_frozen.pb.tar.gz;name=model-inv3"
+SRC_URI[model-inv3.md5sum] = "a904ddf15593d03c7dd786d552e22d73"
+SRC_URI[model-inv3.sha256sum] = "7045b72a954af4dce36346f478610acdccbf149168fa25c78e54e32f0c723d6d"
+
+SRC_URI += "https://storage.googleapis.com/download.tensorflow.org/models/tflite/mobilenet_v1_1.0_224_quant_and_labels.zip;name=model-mobv1"
+SRC_URI[model-mobv1.md5sum] = "38ac0c626947875bd311ef96c8baab62"
+SRC_URI[model-mobv1.sha256sum] = "2f8054076cf655e1a73778a49bd8fd0306d32b290b7e576dda9574f00f186c0f"
+
+RDEPENDS:${PN} += " \
+ python3 \
+ python3-core \
+ python3-numpy \
+"
+
+export PYTHON_BIN_PATH="${PYTHON}"
+export PYTHON_LIB_PATH="${STAGING_LIBDIR_NATIVE}/${PYTHON_DIR}/site-packages"
+
+export CROSSTOOL_PYTHON_INCLUDE_PATH="${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}"
+
+do_configure:append () {
+ if [ ! -e ${CROSSTOOL_PYTHON_INCLUDE_PATH}/pyconfig-target.h ];then
+ mv ${CROSSTOOL_PYTHON_INCLUDE_PATH}/pyconfig.h ${CROSSTOOL_PYTHON_INCLUDE_PATH}/pyconfig-target.h
+ fi
+
+ install -m 644 ${STAGING_INCDIR_NATIVE}/python${PYTHON_BASEVERSION}${PYTHON_ABI}/pyconfig.h \
+ ${CROSSTOOL_PYTHON_INCLUDE_PATH}/pyconfig-native.h
+
+ cat > ${CROSSTOOL_PYTHON_INCLUDE_PATH}/pyconfig.h <<ENDOF
+#if defined (_PYTHON_INCLUDE_TARGET)
+#include "pyconfig-target.h"
+#elif defined (_PYTHON_INCLUDE_NATIVE)
+#include "pyconfig-native.h"
+#else
+#error "_PYTHON_INCLUDE_TARGET or _PYTHON_INCLUDE_NATIVE is not defined"
+#endif // End of #if defined (_PYTHON_INCLUDE_TARGET)
+
+ENDOF
+
+ mkdir -p ${S}/third_party/toolchains/yocto/
+ sed "s#%%CPU%%#${BAZEL_TARGET_CPU}#g" ${WORKDIR}/BUILD.in > ${S}/third_party/toolchains/yocto/BUILD
+ chmod 644 ${S}/third_party/toolchains/yocto/BUILD
+ install -m 644 ${WORKDIR}/cc_config.bzl.tpl ${S}/third_party/toolchains/yocto/
+ install -m 644 ${WORKDIR}/yocto_compiler_configure.bzl ${S}/third_party/toolchains/yocto/
+ install -m 644 ${WORKDIR}/BUILD.yocto_compiler ${S}
+
+ CT_NAME=$(echo ${HOST_PREFIX} | rev | cut -c 2- | rev)
+ SED_COMMAND="s#%%CT_NAME%%#${CT_NAME}#g"
+ SED_COMMAND="${SED_COMMAND}; s#%%WORKDIR%%#${WORKDIR}#g"
+ SED_COMMAND="${SED_COMMAND}; s#%%YOCTO_COMPILER_PATH%%#${BAZEL_OUTPUTBASE_DIR}/external/yocto_compiler#g"
+
+ sed -i "${SED_COMMAND}" ${S}/BUILD.yocto_compiler \
+ ${S}/WORKSPACE
+
+ ${TF_CONFIG} \
+ ./configure
+}
+
+TF_TARGET_EXTRA ??= ""
+
+export CUSTOM_BAZEL_FLAGS = " \
+ ${TF_ARGS_EXTRA} \
+ --jobs=auto \
+ -c opt \
+ --cpu=${BAZEL_TARGET_CPU} \
+ --crosstool_top=@local_config_yocto_compiler//:toolchain \
+ --host_crosstool_top=@bazel_tools//tools/cpp:toolchain \
+"
+
+do_compile () {
+ export CT_NAME=$(echo ${HOST_PREFIX} | rev | cut -c 2- | rev)
+ unset CC
+
+ ${BAZEL} build \
+ ${CUSTOM_BAZEL_FLAGS} \
+ --copt -DTF_LITE_DISABLE_X86_NEON --copt -DMESA_EGL_NO_X11_HEADERS \
+ tensorflow/lite:libtensorflowlite.so \
+ tensorflow/lite/tools/benchmark:benchmark_model \
+ //tensorflow/lite/examples/label_image:label_image \
+ ${TF_TARGET_EXTRA}
+
+ # build pip package
+ ${S}/tensorflow/lite/tools/pip_package/build_pip_package_with_bazel.sh
+
+}
+
+do_install() {
+ install -d ${D}${libdir}
+ install -m 644 ${S}/bazel-bin/tensorflow/lite/libtensorflowlite.so \
+ ${D}${libdir}
+
+ install -d ${D}${sbindir}
+ install -m 755 ${S}/bazel-bin/tensorflow/lite/tools/benchmark/benchmark_model \
+ ${D}${sbindir}
+
+ install -m 755 ${S}/bazel-bin/tensorflow/lite/examples/label_image/label_image \
+ ${D}${sbindir}/label_image
+
+ install -d ${D}${datadir}/label_image
+ install -m 644 ${WORKDIR}/imagenet_slim_labels.txt ${D}${datadir}/label_image
+ install -m 644 ${WORKDIR}/inception_v3_2016_08_28_frozen.pb \
+ ${D}${datadir}/label_image
+ install -m 644 ${S}/tensorflow/examples/label_image/data/grace_hopper.jpg \
+ ${D}${datadir}/label_image
+
+ install -m 644 ${WORKDIR}/labels_mobilenet_quant_v1_224.txt ${D}${datadir}/label_image
+ install -m 644 ${WORKDIR}/mobilenet_v1_1.0_224_quant.tflite \
+ ${D}${datadir}/label_image
+ install -m 644 ${S}/tensorflow/lite/examples/label_image/testdata/grace_hopper.bmp \
+ ${D}${datadir}/label_image
+
+
+ #echo "Installing pip package"
+ install -d ${D}/${PYTHON_SITEPACKAGES_DIR}
+ ${STAGING_BINDIR_NATIVE}/pip3 install --disable-pip-version-check -v \
+ -t ${D}/${PYTHON_SITEPACKAGES_DIR} --no-cache-dir --no-deps \
+ ${S}/tensorflow/lite/tools/pip_package/gen/tflite_pip/python3/dist/tflite_runtime-${PV}-*.whl
+
+}
+
+FILES:${PN} += "${libdir} ${sbindir} ${datadir}/*"
+INSANE_SKIP:${PN} += "dev-so \
+ already-stripped \
+ "
+
+SOLIBS = ".so"
+FILES_SOLIBSDEV = ""
+ALLOW_EMPTY:${PN} = "1"
+
+FILES:${PN} += "${libdir} /home/root/*"
+
+inherit siteinfo unsupportarch
+python __anonymous() {
+ if d.getVar("SITEINFO_ENDIANNESS") == 'be':
+ msg = "\nIt failed to use pre-build model to do predict/inference on big-endian platform"
+ msg += "\n(such as qemumips), since upstream does not support big-endian very well."
+ msg += "\nDetails: https://github.com/tensorflow/tensorflow/issues/16364"
+ bb.warn(msg)
+}
--
# Randy MacLeod
# Wind River Linux


[ANNOUNCEMENT] Milestone 1 for Yocto Project 3.5 (yocto-3.5_M1) now available

Lee Chee Yang
 

Hello,

 

We are pleased to announce the first milestone release for Yocto Project 3.5 (yocto-3.5_M1) is now available for download.

 

Download:

 

http://downloads.yoctoproject.org/releases/yocto/milestones/yocto-3.5_M1

 

 

bitbake: 1ecc1d9424877df89fcda2f23c306998998a65ff

meta-arm: d446f7f80bf61e9cf05843e8ef4bc5473f936118

meta-gplv2: f04e4369bf9dd3385165281b9fa2ed1043b0e400

meta-intel: aa8482af7b286f8fe8f7aae648938d4ebf0283c5

meta-mingw: 992fb40bdbfe9fe60f815aac46e04c58963918b5

oecore: 1a6c2a7345199d77ad5aeac8ad337ed80a8aa39b

poky: 65c94ca3196e5ef3344a469fea8e30444f2e967a


Full Test Report:

http://downloads.yoctoproject.org/releases/yocto/milestones/yocto-3.5_M1/testreport.txt

 

Thank you.

Lee, Chee Yang chee.yang.lee@...

Yocto Project Build and Release


[auto-upgrade-helper][PATCH] bitbake: consider both stdout and stderr when checking or logging output

Alexander Kanavin
 

Signed-off-by: Alexander Kanavin <alex.kanavin@...>
---
modules/buildhistory.py | 2 +-
modules/steps.py | 4 ++--
modules/testimage.py | 4 ++--
modules/utils/bitbake.py | 2 +-
upgrade-helper.py | 4 ++--
5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/modules/buildhistory.py b/modules/buildhistory.py
index 6649023..e0f7191 100644
--- a/modules/buildhistory.py
+++ b/modules/buildhistory.py
@@ -43,7 +43,7 @@ class BuildHistory(object):
try:
self.bb.complete(self.pn, machine)
except Error as e:
- for line in e.stdout.split("\n"):
+ for line in e.stdout.split("\n") + e.stderr.split("\n"):
# version going backwards is not a real error
if re.match(".* went backwards which would break package feeds .*", line):
break
diff --git a/modules/steps.py b/modules/steps.py
index 811b88d..bde72db 100644
--- a/modules/steps.py
+++ b/modules/steps.py
@@ -107,8 +107,8 @@ def _compile(bb, pkg, machine, workdir):
bb.complete(pkg, machine)
except Error as e:
with open("{}/bitbake-output-{}.txt".format(workdir, machine), 'w') as f:
- f.write(e.stdout)
- for line in e.stdout.split("\n"):
+ f.write(e.stdout + e.stderr)
+ for line in e.stdout.split("\n") + e.stderr.split("\n"):
# version going backwards is not a real error
if re.match(".* went backwards which would break package feeds .*", line):
break
diff --git a/modules/testimage.py b/modules/testimage.py
index 4272c84..0fc1adb 100644
--- a/modules/testimage.py
+++ b/modules/testimage.py
@@ -85,14 +85,14 @@ class TestImage():
bitbake_create_output = self.bb.complete(image, machine)
except Error as e:
I( " building the testimage failed! Collecting logs...")
- bitbake_create_output = e.stdout
+ bitbake_create_output = e.stdout + e.stderr
else:
I( " running %s/testimage for %s ..." % (image, machine))
try:
bitbake_run_output = self.bb.complete("%s -c testimage" % image, machine)
except Error as e:
I( " running the testimage failed! Collecting logs...")
- bitbake_run_output = e.stdout
+ bitbake_run_output = e.stdout + e.stderr

if bitbake_create_output:
with open(os.path.join(self.logdir, "bitbake-create-testimage.log"), 'w') as f:
diff --git a/modules/utils/bitbake.py b/modules/utils/bitbake.py
index 4835ca6..a5fc6fa 100644
--- a/modules/utils/bitbake.py
+++ b/modules/utils/bitbake.py
@@ -73,7 +73,7 @@ class Bitbake(object):

if self.log_dir is not None and os.path.exists(self.log_dir):
with open(os.path.join(self.log_dir, BITBAKE_ERROR_LOG), "a+") as log:
- log.write(e.stdout)
+ log.write(e.stdout + e.stderr)

raise Error("\'" + cmd + "\' failed", e.stdout, e.stderr)

diff --git a/upgrade-helper.py b/upgrade-helper.py
index eb3935e..ecdabb0 100755
--- a/upgrade-helper.py
+++ b/upgrade-helper.py
@@ -153,7 +153,7 @@ class Updater(object):
except EmptyEnvError as e:
import traceback
E( " %s\n%s" % (e.message, traceback.format_exc()))
- E( " Bitbake output:\n%s" % (e.stdout))
+ E( " Bitbake output:\n%s" % (e.stdout + e.stderr))
exit(1)

self._set_options()
@@ -459,7 +459,7 @@ class Updater(object):
E(" Can't build gcc-runtime for %s." % machine)

if isinstance(e, Error):
- E(e.stdout)
+ E(e.stdout + e.stderr)
else:
import traceback
traceback.print_exc(file=sys.stdout)
--
2.33.1


Re: meta-virtualization/docker/containerd issue seen

Monsees, Steven C (US)
 

 

Nevermind…

 

I forgot if you have added the docker-ce recipe to the build then it does spawn the docker daemon automatically, even if it’s sysvinit…

 

Thanks anyway, and Happy Holidays…

 

From: yocto@... <yocto@...> On Behalf Of Monsees, Steven C (US) via lists.yoctoproject.org
Sent: Thursday, December 23, 2021 1:27 PM
To: yocto@...
Subject: [yocto] meta-virtualization/docker/containerd issue seen

 

External Email Alert

This email has been sent from an account outside of the BAE Systems network.

Please treat the email with caution, especially if you are requested to click on a link, decrypt/open an attachment, or enable macros.  For further information on how to spot phishing, access “Cybersecurity OneSpace Page” and report phishing by clicking the button “Report Phishing” on the Outlook toolbar.

 

 

I am trying to build in basic docker functionality for container support…

 

I am zeus based, and am building docker and docker-ce-contrib.

 

When I manually start the dockerd in the background I am seeing a timeout when attempting to use containerd.

 

Any ideas as ti why I am getting this error or how I might resolve it ?

(see bottom)

 

Thanks,

Steve

 

Initialization complete. Sending init complete message

Running indefinitely

 

root@sbca-default which docker

/usr/bin/docker

root@sbca-default docker --version

Docker version 19.03.2-ce, build 6a30dfc

root@sbca-default docker info

Client:

Debug Mode: false

 

Server:

Containers: 0

  Running: 0

  Paused: 0

  Stopped: 0

Images: 0

Server Version: 19.03.2-ce

Storage Driver: overlay2

  Backing Filesystem: extfs

  Supports d_type: true

  Native Overlay Diff: true

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

  Volume: local

  Network: bridge host ipvlan macvlan null overlay

  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog

Swarm: inactive

Runtimes: runc

Default Runtime: runc

Init Binary: docker-init

containerd version: fd103cb716352c7e19768e4fed057f71d68902a0.m

runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f-dirty

init version: fec3683-dirty (expected: fec3683b971d9)

Kernel Version: 4.19.135-intel-pk-standard

OSType: linux

Architecture: x86_64

CPUs: 8

Total Memory: 15.51GiB

Name: sbca-default

ID: YFQW:EPJT:TSJU:C64F:NU57:RAJL:X5IC:J5IT:MRTP:SIGS:RI25:KUFQ

Docker Root Dir: /var/lib/docker

Debug Mode: false

Registry: https://index.docker.io/v1/

Labels:

Experimental: false

Insecure Registries:

  localhost:5000

  127.0.0.0/8

Registry Mirrors:

  http://localhost:5000/

Live Restore Enabled: false

 

root@sbca-default /usr/share/docker/check-config.sh

info: reading kernel config from /proc/config.gz ...

 

Generally Necessary:

- cgroup hierarchy: properly mounted [/sys/fs/cgroup]

- CONFIG_NAMESPACES: enabled

- CONFIG_NET_NS: enabled

- CONFIG_PID_NS: enabled

- CONFIG_IPC_NS: enabled

- CONFIG_UTS_NS: enabled

- CONFIG_CGROUPS: enabled

- CONFIG_CGROUP_CPUACCT: enabled

- CONFIG_CGROUP_DEVICE: enabled

- CONFIG_CGROUP_FREEZER: enabled

- CONFIG_CGROUP_SCHED: enabled

- CONFIG_CPUSETS: enabled

- CONFIG_MEMCG: enabled

- CONFIG_KEYS: enabled

- CONFIG_VETH: enabled

- CONFIG_BRIDGE: enabled (as module)

- CONFIG_BRIDGE_NETFILTER: enabled (as module)

- CONFIG_NF_NAT_IPV4: enabled (as module)

- CONFIG_IP_NF_FILTER: enabled (as module)

- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled (as module)

- CONFIG_IP_NF_NAT: enabled (as module)

- CONFIG_NF_NAT: enabled (as module)

- CONFIG_NF_NAT_NEEDED: enabled

- CONFIG_POSIX_MQUEUE: enabled

 

Optional Features:

- CONFIG_USER_NS: enabled

- CONFIG_SECCOMP: enabled

- CONFIG_CGROUP_PIDS: enabled

- CONFIG_MEMCG_SWAP: enabled

- CONFIG_MEMCG_SWAP_ENABLED: enabled

    (cgroup swap accounting is currently enabled)

- CONFIG_LEGACY_VSYSCALL_EMULATE: enabled

- CONFIG_BLK_CGROUP: enabled

- CONFIG_BLK_DEV_THROTTLING: enabled

- CONFIG_IOSCHED_CFQ: enabled

- CONFIG_CFQ_GROUP_IOSCHED: enabled

- CONFIG_CGROUP_PERF: enabled

- CONFIG_CGROUP_HUGETLB: enabled

- CONFIG_NET_CLS_CGROUP: enabled

- CONFIG_CGROUP_NET_PRIO: enabled

- CONFIG_CFS_BANDWIDTH: enabled

- CONFIG_FAIR_GROUP_SCHED: enabled

- CONFIG_RT_GROUP_SCHED: enabled

- CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module)

- CONFIG_IP_VS: enabled (as module)

- CONFIG_IP_VS_NFCT: enabled

- CONFIG_IP_VS_PROTO_TCP: enabled

- CONFIG_IP_VS_PROTO_UDP: enabled

- CONFIG_IP_VS_RR: enabled (as module)

- CONFIG_EXT4_FS: enabled

- CONFIG_EXT4_FS_POSIX_ACL: enabled

- CONFIG_EXT4_FS_SECURITY: enabled

- Network Drivers:

  - "overlay":

    - CONFIG_VXLAN: enabled

      Optional (for encrypted networks):

      - CONFIG_CRYPTO: enabled

      - CONFIG_CRYPTO_AEAD: enabled

      - CONFIG_CRYPTO_GCM: enabled (as module)

      - CONFIG_CRYPTO_SEQIV: enabled

      - CONFIG_CRYPTO_GHASH: enabled (as module)

      - CONFIG_XFRM: enabled

      - CONFIG_XFRM_USER: enabled (as module)

      - CONFIG_XFRM_ALGO: enabled

      - CONFIG_INET_ESP: enabled (as module)

      - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled

  - "ipvlan":

    - CONFIG_IPVLAN: enabled

  - "macvlan":

    - CONFIG_MACVLAN: enabled

    - CONFIG_DUMMY: enabled

  - "ftp,tftp client in container":

    - CONFIG_NF_NAT_FTP: enabled (as module)

    - CONFIG_NF_CONNTRACK_FTP: enabled (as module)

    - CONFIG_NF_NAT_TFTP: enabled (as module)

    - CONFIG_NF_CONNTRACK_TFTP: enabled (as module)

- Storage Drivers:

  - "aufs":

    - CONFIG_AUFS_FS: missing

  - "btrfs":

    - CONFIG_BTRFS_FS: enabled

    - CONFIG_BTRFS_FS_POSIX_ACL: enabled

  - "devicemapper":

    - CONFIG_BLK_DEV_DM: enabled

    - CONFIG_DM_THIN_PROVISIONING: enabled

  - "overlay":

    - CONFIG_OVERLAY_FS: enabled

  - "zfs":

    - /dev/zfs: missing

    - zfs command: missing

    - zpool command: missing

 

Limits:

- /proc/sys/kernel/keys/root_maxkeys: 1000000

 

root@sbca-default

root@sbca-default dockerd --iptables=false &

[1] 5887

root@sbca-default INFO[2021-12-23T17:27:10.246973295Z] Starting up                                  

INFO[2021-12-23T17:27:10.247572882Z] libcontainerd: containerd is still running    pid=893

INFO[2021-12-23T17:27:10.247608835Z] parsed scheme: "unix"                         module=grpc

INFO[2021-12-23T17:27:10.247660984Z] scheme "unix" not registered, fallback to default scheme  module=grpc

INFO[2021-12-23T17:27:10.247678448Z] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock 0  <nil>}] }  module=grpc

INFO[2021-12-23T17:27:10.247686677Z] ClientConn switching balancer to "pick_first"  module=grpc

INFO[2021-12-23T17:27:10.247731766Z] pickfirstBalancer: HandleSubConnStateChange: 0xc0006f5780, CONNECTING  module=grpc

failed to start containerd: timeout waiting for containerd to start

 

[1]+ done(1)                 dockerd --iptables=false

root@sbca-default

 


meta-virtualization/docker/containerd issue seen

Monsees, Steven C (US)
 

 

I am trying to build in basic docker functionality for container support…

 

I am zeus based, and am building docker and docker-ce-contrib.

 

When I manually start the dockerd in the background I am seeing a timeout when attempting to use containerd.

 

Any ideas as ti why I am getting this error or how I might resolve it ?

(see bottom)

 

Thanks,

Steve

 

Initialization complete. Sending init complete message

Running indefinitely

 

root@sbca-default which docker

/usr/bin/docker

root@sbca-default docker --version

Docker version 19.03.2-ce, build 6a30dfc

root@sbca-default docker info

Client:

Debug Mode: false

 

Server:

Containers: 0

  Running: 0

  Paused: 0

  Stopped: 0

Images: 0

Server Version: 19.03.2-ce

Storage Driver: overlay2

  Backing Filesystem: extfs

  Supports d_type: true

  Native Overlay Diff: true

Logging Driver: json-file

Cgroup Driver: cgroupfs

Plugins:

  Volume: local

  Network: bridge host ipvlan macvlan null overlay

  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog

Swarm: inactive

Runtimes: runc

Default Runtime: runc

Init Binary: docker-init

containerd version: fd103cb716352c7e19768e4fed057f71d68902a0.m

runc version: 425e105d5a03fabd737a126ad93d62a9eeede87f-dirty

init version: fec3683-dirty (expected: fec3683b971d9)

Kernel Version: 4.19.135-intel-pk-standard

OSType: linux

Architecture: x86_64

CPUs: 8

Total Memory: 15.51GiB

Name: sbca-default

ID: YFQW:EPJT:TSJU:C64F:NU57:RAJL:X5IC:J5IT:MRTP:SIGS:RI25:KUFQ

Docker Root Dir: /var/lib/docker

Debug Mode: false

Registry: https://index.docker.io/v1/

Labels:

Experimental: false

Insecure Registries:

  localhost:5000

  127.0.0.0/8

Registry Mirrors:

  http://localhost:5000/

Live Restore Enabled: false

 

root@sbca-default /usr/share/docker/check-config.sh

info: reading kernel config from /proc/config.gz ...

 

Generally Necessary:

- cgroup hierarchy: properly mounted [/sys/fs/cgroup]

- CONFIG_NAMESPACES: enabled

- CONFIG_NET_NS: enabled

- CONFIG_PID_NS: enabled

- CONFIG_IPC_NS: enabled

- CONFIG_UTS_NS: enabled

- CONFIG_CGROUPS: enabled

- CONFIG_CGROUP_CPUACCT: enabled

- CONFIG_CGROUP_DEVICE: enabled

- CONFIG_CGROUP_FREEZER: enabled

- CONFIG_CGROUP_SCHED: enabled

- CONFIG_CPUSETS: enabled

- CONFIG_MEMCG: enabled

- CONFIG_KEYS: enabled

- CONFIG_VETH: enabled

- CONFIG_BRIDGE: enabled (as module)

- CONFIG_BRIDGE_NETFILTER: enabled (as module)

- CONFIG_NF_NAT_IPV4: enabled (as module)

- CONFIG_IP_NF_FILTER: enabled (as module)

- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)

- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled (as module)

- CONFIG_IP_NF_NAT: enabled (as module)

- CONFIG_NF_NAT: enabled (as module)

- CONFIG_NF_NAT_NEEDED: enabled

- CONFIG_POSIX_MQUEUE: enabled

 

Optional Features:

- CONFIG_USER_NS: enabled

- CONFIG_SECCOMP: enabled

- CONFIG_CGROUP_PIDS: enabled

- CONFIG_MEMCG_SWAP: enabled

- CONFIG_MEMCG_SWAP_ENABLED: enabled

    (cgroup swap accounting is currently enabled)

- CONFIG_LEGACY_VSYSCALL_EMULATE: enabled

- CONFIG_BLK_CGROUP: enabled

- CONFIG_BLK_DEV_THROTTLING: enabled

- CONFIG_IOSCHED_CFQ: enabled

- CONFIG_CFQ_GROUP_IOSCHED: enabled

- CONFIG_CGROUP_PERF: enabled

- CONFIG_CGROUP_HUGETLB: enabled

- CONFIG_NET_CLS_CGROUP: enabled

- CONFIG_CGROUP_NET_PRIO: enabled

- CONFIG_CFS_BANDWIDTH: enabled

- CONFIG_FAIR_GROUP_SCHED: enabled

- CONFIG_RT_GROUP_SCHED: enabled

- CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module)

- CONFIG_IP_VS: enabled (as module)

- CONFIG_IP_VS_NFCT: enabled

- CONFIG_IP_VS_PROTO_TCP: enabled

- CONFIG_IP_VS_PROTO_UDP: enabled

- CONFIG_IP_VS_RR: enabled (as module)

- CONFIG_EXT4_FS: enabled

- CONFIG_EXT4_FS_POSIX_ACL: enabled

- CONFIG_EXT4_FS_SECURITY: enabled

- Network Drivers:

  - "overlay":

    - CONFIG_VXLAN: enabled

      Optional (for encrypted networks):

      - CONFIG_CRYPTO: enabled

      - CONFIG_CRYPTO_AEAD: enabled

      - CONFIG_CRYPTO_GCM: enabled (as module)

      - CONFIG_CRYPTO_SEQIV: enabled

      - CONFIG_CRYPTO_GHASH: enabled (as module)

      - CONFIG_XFRM: enabled

      - CONFIG_XFRM_USER: enabled (as module)

      - CONFIG_XFRM_ALGO: enabled

      - CONFIG_INET_ESP: enabled (as module)

      - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled

  - "ipvlan":

    - CONFIG_IPVLAN: enabled

  - "macvlan":

    - CONFIG_MACVLAN: enabled

    - CONFIG_DUMMY: enabled

  - "ftp,tftp client in container":

    - CONFIG_NF_NAT_FTP: enabled (as module)

    - CONFIG_NF_CONNTRACK_FTP: enabled (as module)

    - CONFIG_NF_NAT_TFTP: enabled (as module)

    - CONFIG_NF_CONNTRACK_TFTP: enabled (as module)

- Storage Drivers:

  - "aufs":

    - CONFIG_AUFS_FS: missing

  - "btrfs":

    - CONFIG_BTRFS_FS: enabled

    - CONFIG_BTRFS_FS_POSIX_ACL: enabled

  - "devicemapper":

    - CONFIG_BLK_DEV_DM: enabled

    - CONFIG_DM_THIN_PROVISIONING: enabled

  - "overlay":

    - CONFIG_OVERLAY_FS: enabled

  - "zfs":

    - /dev/zfs: missing

    - zfs command: missing

    - zpool command: missing

 

Limits:

- /proc/sys/kernel/keys/root_maxkeys: 1000000

 

root@sbca-default

root@sbca-default dockerd --iptables=false &

[1] 5887

root@sbca-default INFO[2021-12-23T17:27:10.246973295Z] Starting up                                  

INFO[2021-12-23T17:27:10.247572882Z] libcontainerd: containerd is still running    pid=893

INFO[2021-12-23T17:27:10.247608835Z] parsed scheme: "unix"                         module=grpc

INFO[2021-12-23T17:27:10.247660984Z] scheme "unix" not registered, fallback to default scheme  module=grpc

INFO[2021-12-23T17:27:10.247678448Z] ccResolverWrapper: sending update to cc: {[{unix:///var/run/docker/containerd/containerd.sock 0  <nil>}] }  module=grpc

INFO[2021-12-23T17:27:10.247686677Z] ClientConn switching balancer to "pick_first"  module=grpc

INFO[2021-12-23T17:27:10.247731766Z] pickfirstBalancer: HandleSubConnStateChange: 0xc0006f5780, CONNECTING  module=grpc

failed to start containerd: timeout waiting for containerd to start

 

[1]+ done(1)                 dockerd --iptables=false

root@sbca-default

 


Minutes: Yocto Project Weekly Triage Meeting 12/23/2021

Trevor Gamblin
 

Wiki: https://wiki.yoctoproject.org/wiki/Bug_Triage

Attendees: Randy, Richard, Saul, Stephen, Steve, Trevor

ARs:

Happy Holidays!

Notes:

No triage meeting on December 30th

Medium+ 3.5 Unassigned Enhancements/Bugs: 75 (Last week 76)

Medium+ 3.99 Unassigned Enhancements/Bugs: 38 (Last week 38)

AB Bugs: 70 (Last week 73)


Re: Where to define udev to load kernel modules in boot?

Quentin Schulz
 

Hi JH,

On December 23, 2021 11:28:55 AM GMT+01:00, JH <jupiter.hce@...> wrote:
Hi,

I built an OE/Yocto IoT device to include kernel modules of usb_wwan,
usbserial, mwifiex_sdio, mwifiex etc, there is one udev from
meta-freescale/recipes-core/udev/udev-rules-imx/10-imx.rules

# ls /etc/udev/rules.d
10-imx.rules touchscreen.rules

My device does not have a touchscreen so that touchscreen.rules should
not be there. The 10-imx.rules does not define any kernel modules
usb_wwan, usbserial, mwifiex_sdio, mwifiex, the device does not have
video or any input

# cat /etc/udev/rules.d/10-imx.rules
KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
# Anyone has readonly permission to IIM device file
KERNEL=="mxc_iim", MODE="0444", SYMLINK+="mxc_mem"
KERNEL=="mxs_viim", MODE="0444", SYMLINK+="mxc_mem"
KERNEL=="mxc_ipu", MODE="0666"
KERNEL=="mxc_vpu", MODE="0666"
SUBSYSTEM=="video", MODE="0660"
KERNEL=="fb[0-9]", MODE="0660", GROUP="video"
KERNEL=="gsl_kmod", MODE="0660", GROUP="video"
KERNEL=="galcore", MODE="0660", GROUP="video"

How can I define udev in recipes to make the system to load kernel
modules of usb_wwan, usbserial, mwifiex_sdio, mwifiex in boot?
IIRC, you need to add your package to KERNEL_MODULE_AUTOLOAD, c.f. https://docs.yoctoproject.org/ref-manual/variables.html#term-KERNEL_MODULE_AUTOLOAD

Cheers,
Quentin

Thank you.

Kind regards,

- jh


Where to define udev to load kernel modules in boot?

JH
 

Hi,

I built an OE/Yocto IoT device to include kernel modules of usb_wwan,
usbserial, mwifiex_sdio, mwifiex etc, there is one udev from
meta-freescale/recipes-core/udev/udev-rules-imx/10-imx.rules

# ls /etc/udev/rules.d
10-imx.rules touchscreen.rules

My device does not have a touchscreen so that touchscreen.rules should
not be there. The 10-imx.rules does not define any kernel modules
usb_wwan, usbserial, mwifiex_sdio, mwifiex, the device does not have
video or any input

# cat /etc/udev/rules.d/10-imx.rules
KERNEL=="mc13783_connectiv*", NAME="mc13783_connectivity"
# Anyone has readonly permission to IIM device file
KERNEL=="mxc_iim", MODE="0444", SYMLINK+="mxc_mem"
KERNEL=="mxs_viim", MODE="0444", SYMLINK+="mxc_mem"
KERNEL=="mxc_ipu", MODE="0666"
KERNEL=="mxc_vpu", MODE="0666"
SUBSYSTEM=="video", MODE="0660"
KERNEL=="fb[0-9]", MODE="0660", GROUP="video"
KERNEL=="gsl_kmod", MODE="0660", GROUP="video"
KERNEL=="galcore", MODE="0660", GROUP="video"

How can I define udev in recipes to make the system to load kernel
modules of usb_wwan, usbserial, mwifiex_sdio, mwifiex in boot?

Thank you.

Kind regards,

- jh


Re: [meta-raspberrypi][PATCH] xserver-xorg: remove xshmfence configure option

Yu, Mingli
 

On 12/9/21 1:37 PM, Khem Raj wrote:
**[Please note: This e-mail is from an EXTERNAL e-mail address]
On Wed, Dec 8, 2021 at 7:03 PM Yu, Mingli <mingli.yu@... <mailto:mingli.yu@...>> wrote:
From: Mingli Yu <mingli.yu@...
<mailto:mingli.yu@...>>
After the commit [1] introduced in openembedded-core layer,
some configure options is't carried over include xshmfence
option, so remove the xshmfence configure option to silence
the below warning.
  WARNING: xserver-xorg-2_21.1.1-r0 do_configure: QA Issue:
xserver-xorg: invalid PACKAGECONFIG: xshmfence [invalid-packageconfig]
That’s ok to remove it but more importantly does it work now without this option
First we should keep consistent with the change with openembedded-core(https://git.openembedded.org/openembedded-core/commit/?id=e05abd87ee5d23750c641d0129d9c83db68ee2e8) and also not found any issue related to this option until now.

Thanks,

[1]
https://git.openembedded.org/openembedded-core/commit/?id=e05abd87ee5d23750c641d0129d9c83db68ee2e8
<https://urldefense.com/v3/__https://git.openembedded.org/openembedded-core/commit/?id=e05abd87ee5d23750c641d0129d9c83db68ee2e8__;!!AjveYdw8EvQ!O1dnnmQhKwEt9e40TMNLjFCci501QrS-7Erm4Fz5co01OzoGEk8NfXDGEi2vpfa5oCE$>
Signed-off-by: Mingli Yu <mingli.yu@...
<mailto:mingli.yu@...>>
---
 recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
index 25829c2..ee4812f 100644
--- a/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ b/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
@@ -1,4 +1,4 @@
-OPENGL_PKGCONFIGS:rpi = "dri glx
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3
xshmfence glamor', '', d)}"
+OPENGL_PKGCONFIGS:rpi = "dri glx
${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3
glamor', '', d)}"
 # when using userland graphic KHR/khrplatform.h is provided by
userland but virtual/libgl is provided by mesa-gl where
 # we explicitly delete KHR/khrplatform.h since its already coming
from userland package
--
2.17.1


Docker exec/attach not working on overlayed root

Beek, Léon van de
 

Hi Bruce,

 

To be honest, I am not quite sure where to ask this, as it is a very specific scenario, so feel free to forward me and my question to someone/somewhere else.

 

Situation:

  • Yocto Hardknott running meta-virtualization, meta-raspberrypi with Docker installed: Dockers works fine and is tested. Docker exec and attach works too
  • Now changed the rootfs to be squashfs, and an overlay of root + a RW ext4 partition is changed to be / at boot. This script is based on: https://github.com/cmhe/meta-readonly-rootfs-overlay
  • Docker’s overlay2 file driver does not work on top of an overlay: https://docs.docker.com/storage/storagedriver/select-storage-driver/
  • Solution: create /etc/docker/daemon.json with the line in it: “data-root”=”/docker-data”. Note: /docker-data is a separate EXT4 partition on the SD card.
  • Restart machine/dockerd. The result is that we see the /docker-data is now full of docker files and the containers and overlay2 folders are there. Docker info shows: Storage driver: overlay2
    Containers run fine. Hello-world example runs. Alpine runs, and when starting Alpine with -it arguments I can mess around in shell all I want, everything works.
  • Problem: Whenever I create a container, for example: docker run -d -t –name=test alpine, and later try to exec into it using “docker exec test echo hello” I get this result:
    Error running exec: OCI-runtime exec failed: exec failed: container_linux.go:367”starting container process caused: read init-p: connection reset by peer: unknown
  • I restarted dockerd with –log-level=debug and noticed that it says: attach: stderr: begin, stream copy error: reading from a closed fifo. (Same for stdout)

 

I removed the overlaying again and can confirm that exec and attach also worked before adding this, but on Google I can not find a single thing that closely relates to the issue I am facing.

 

Hope any of you might be able to help me out here, I feel truly stuck on this.

 

Kind regards,

Léon van de Beek