summaryrefslogtreecommitdiff
path: root/3rdParty/captcha/unfont.c
diff options
context:
space:
mode:
Diffstat (limited to '3rdParty/captcha/unfont.c')
-rw-r--r--3rdParty/captcha/unfont.c58
1 files changed, 58 insertions, 0 deletions
diff --git a/3rdParty/captcha/unfont.c b/3rdParty/captcha/unfont.c
new file mode 100644
index 0000000..724f7a8
--- /dev/null
+++ b/3rdParty/captcha/unfont.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include "font.h"
+
+void copy(int s, int e, int idx) {
+ int r,i;
+ for(i=s;i<e;i++) {
+ for(r=0;r<50;r++) {
+ if(im[r][i]!=' ') goto findend;
+ }
+ }
+
+ findend: s=i;
+
+ for(i=e;i>s;i--) {
+ for(r=0;r<50;r++) {
+ if(im[r][i]!=' ') goto go;
+ }
+ }
+
+ go: e=i+1;
+
+ printf("static int8_t lt%u[]={",idx);
+
+ for(r=0;r<50;r++) {
+ int l=0;
+ for(i=s;i<e;i++) {
+ char c=im[r][i];
+ if(c==' ') { l++; }
+ else {
+ if(l) { printf("-%u,",l); l=0; }
+ printf("%u,",colors[c-'a']);
+ }
+ }
+ printf("-100,");
+ }
+ printf("-101};\n");
+
+}
+
+int main() {
+ int i,st=0,idx=0;
+ for(i=0;i<width;i++) {
+ if(im[0][i]=='a') {
+ copy(st+1,i-1,idx);
+ idx++;
+ st=i;
+ }
+ }
+
+ printf("static int8_t *lt[]={");
+ for(i=0;i<idx;i++) {
+ printf("lt%d,",(i==6||i==4)?0:i);
+ }
+ printf("};\n\n");
+ return 0;
+}
+
+