summaryrefslogtreecommitdiff
path: root/fontd
blob: d6754d0366087b42585260baab5dfde00c1f5dfa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/bash
#USAGE
#	fontd CHAR DIR
#		display CHAR if found in any bdf fonts in DIR/
#		NOTE: CHAR must be in decimal encoding point format of bdf

#gets font size, it can take multiple fonts as input so only get the first one
#and assume they're all the same size
size=$(cat $2/*bdf | grep -m 1 PIXEL_SIZE | awk '{print $2}')

#get bdf bitmap info from bdf
#fflag ensures only one result even with multiple bdfs, cflag finds the char,
#bflag labels just the bitmap part
bdf=$(cat $2/*bdf | awk "NR==1{fflag=0}/ENCODING $1$/{if(fflag==0){cflag=1;fflag=1}}/BITMAP/{if (cflag==1){bflag=1};next}/ENDCHAR/{cflag=0;bflag=0}bflag")

#convert to binary, cols depends on size
bin=$(echo $bdf | xxd -r -ps | xxd -b -c $(($size/8))|\
#strip all the formating, replace '0' with '.' for bbrll
sed 's/^.*://g;s/\s[^[:space:]]*$//;s/\s//g;s/0/\./g')


#saving it as a var removed newlines, must add in with sed, send to bbrll to
# display
echo LOAD_RAW $bin END_RAW PRINT_BRAILLE | sed  's/\s/\n/g' | bbrll