more cleanup and typo fixing
This commit is contained in:
parent
ef50bdb98d
commit
073ff2c25d
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
#include <fonts.h>
|
#include <fonts.h>
|
||||||
#include <render.h>
|
#include <render.h>
|
||||||
|
|
||||||
|
@ -6,10 +5,10 @@
|
||||||
static uint8_t buf[MAXCHR];
|
static uint8_t buf[MAXCHR];
|
||||||
|
|
||||||
uint8_t * pk_decode(const uint8_t * data,int * len){
|
uint8_t * pk_decode(const uint8_t * data,int * len){
|
||||||
int length=*len; // Length of character bytestream
|
int length=*len; // Length of character bytestream
|
||||||
int height; // Height of character in bytes
|
int height; // Height of character in bytes
|
||||||
int hoff; // bit position for non-integer heights
|
int hoff; // bit position for non-integer heights
|
||||||
uint8_t * bufptr=buf; // Output buffer for decoded character
|
uint8_t * bufptr=buf; // Output buffer for decoded character
|
||||||
|
|
||||||
height=(font->u8Height-1)/8+1;
|
height=(font->u8Height-1)/8+1;
|
||||||
hoff=font->u8Height%8;
|
hoff=font->u8Height%8;
|
||||||
|
@ -32,7 +31,7 @@ uint8_t * pk_decode(const uint8_t * data,int * len){
|
||||||
};
|
};
|
||||||
|
|
||||||
// Local function: Unpack "long run".
|
// Local function: Unpack "long run".
|
||||||
int upl(int off){ // unpack "long" run.
|
int upl(int off){
|
||||||
int retval;
|
int retval;
|
||||||
|
|
||||||
while((retval=gnn())==0){
|
while((retval=gnn())==0){
|
||||||
|
@ -45,10 +44,10 @@ uint8_t * pk_decode(const uint8_t * data,int * len){
|
||||||
return retval;
|
return retval;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define DNY (12) // Decoder parameter: Fixed value for now.
|
#define DYN (12) // Decoder parameter: Fixed value for now.
|
||||||
int repeat=0; // Decoder internal: repeat colum?
|
int repeat=0; // Decoder internal: repeat colum?
|
||||||
int curbit=0; // Decoder internal: current bit (1 or 0)
|
int curbit=0; // Decoder internal: current bit (1 or 0)
|
||||||
int pos=0; // Decoder internal: current bit position (0..7)
|
int pos=0; // Decoder internal: current bit position (0..7)
|
||||||
int nyb; // Decoder internal: current nibble / value
|
int nyb; // Decoder internal: current nibble / value
|
||||||
|
|
||||||
while(ctr<length){ /* Iterate the whole input stream */
|
while(ctr<length){ /* Iterate the whole input stream */
|
||||||
|
@ -56,7 +55,6 @@ uint8_t * pk_decode(const uint8_t * data,int * len){
|
||||||
/* Get next encoded nibble and decode */
|
/* Get next encoded nibble and decode */
|
||||||
nyb=gnn();
|
nyb=gnn();
|
||||||
|
|
||||||
|
|
||||||
if(nyb==15){
|
if(nyb==15){
|
||||||
repeat++;
|
repeat++;
|
||||||
continue;
|
continue;
|
||||||
|
@ -65,19 +63,18 @@ uint8_t * pk_decode(const uint8_t * data,int * len){
|
||||||
nyb+=1;
|
nyb+=1;
|
||||||
repeat+=nyb;
|
repeat+=nyb;
|
||||||
continue;
|
continue;
|
||||||
}else if(nyb>DNY){
|
}else if(nyb>DYN){
|
||||||
nyb=(16*(nyb-DNY-1))+gnn()+DNY+1;
|
nyb=(16*(nyb-DYN-1))+gnn()+DYN+1;
|
||||||
}else if(nyb==0){
|
}else if(nyb==0){
|
||||||
nyb=upl(1);
|
nyb=upl(1);
|
||||||
nyb+=(16*(13-DNY)+DNY)-16;
|
nyb+=(16*(13-DYN)+DYN)-16;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Generate & output bits */
|
/* Generate & output bits */
|
||||||
|
|
||||||
while(nyb-->0){
|
while(nyb-->0){
|
||||||
if(pos==0){
|
if(pos==0) // Clear each byte before we start.
|
||||||
*bufptr=0;
|
*bufptr=0;
|
||||||
};
|
|
||||||
if(curbit==1){
|
if(curbit==1){
|
||||||
*bufptr|=1<<(7-pos);
|
*bufptr|=1<<(7-pos);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue